Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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/python-3.x/19.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_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 按返回值对数据帧进行排序;对于多索引,标签必须是元组,其元素对应于每个级别。”;

Python 按返回值对数据帧进行排序;对于多索引,标签必须是元组,其元素对应于每个级别。”;,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,目标:基于具有5列的数据帧,返回具有3列的数据帧,其中一列是计数,并按最大计数到最小计数排序 我所尝试的: df = df[['Country', 'Year','NumInstances']].groupby(['Country', 'Year']).agg(['count']) df = df.sort_values(by='NumInstances', ascending=False) print(df) 错误: ValueError:列标签“NumInstances”不唯一。 对于

目标:基于具有5列的数据帧,返回具有3列的数据帧,其中一列是计数,并按最大计数到最小计数排序

我所尝试的:

df = df[['Country', 'Year','NumInstances']].groupby(['Country', 'Year']).agg(['count'])

df = df.sort_values(by='NumInstances', ascending=False)

print(df)
错误: ValueError:列标签“NumInstances”不唯一。 对于多索引,标签必须是元组,其元素对应于每个级别

在这个标记作为副本之前,我已经看过了所有其他建议的副本,它们似乎都建议使用与上面相同的代码

我正在做的一些小事情是否可能是不正确的


谢谢

我想您需要删除多索引-

试试这个-

df = df[['Country', 'Year','NumInstances']].groupby(['Country', 'Year']).agg(['count']).reset_index()

或-


发现了问题。向NumInstances列添加agg使NumInstances列名称成为一个元组('NumInstances','sum'),因此我刚刚将排序代码更新为:

df = df.sort_values(by=('NumInstances', 'sum'), ascending=False)


谢谢,但这似乎只是按国家名称订购的
df = df.sort_values(by=('NumInstances', 'sum'), ascending=False)