Python 计算每列的不同值,返回数据帧,并对值进行排序
这是我的代码:Python 计算每列的不同值,返回数据帧,并对值进行排序,python,pandas,dataframe,Python,Pandas,Dataframe,这是我的代码: for column in list(data.columns): pd.DataFrame(columns=column, data=data.columns.nunique()).sort_values() 这不管用 要定义函数或使用for循环,如何使检查每列的唯一值编号变得简单?您的代码存在许多问题,但主要有两个问题: 您不会存储、打印或将创建的pd.DataFrame对象附加到列表中 您将nunique应用于列标签,而不是数据框中的数据 在这里,您可以直接使
for column in list(data.columns):
pd.DataFrame(columns=column, data=data.columns.nunique()).sort_values()
这不管用
要定义函数或使用for循环,如何使检查每列的唯一值编号变得简单?您的代码存在许多问题,但主要有两个问题:
- 您不会存储、打印或将创建的
对象附加到列表中pd.DataFrame
- 您将
应用于列标签,而不是数据框中的数据nunique
np.random.seed(0)
df = pd.DataFrame(np.random.randint(0, 10, (5, 5)))
res = df.nunique()\
.sort_values(ascending=False)\
.rename('Count')\
.to_frame()
print(res)
Count
1 5
3 4
2 4
0 4
4 3