Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算每列的不同值,返回数据帧,并对值进行排序_Python_Pandas_Dataframe - Fatal编程技术网

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