如何在使用groupby()时返回数据集中具有最大值的列中的名称?



工资列有两组字符串:'>50K''<=50K'使用熊猫

我现在的代码是这样的:

df.loc[df['salary'] == '>50K'].groupby('native-country')['native-country'].count().tail()

它返回:

native-country
Thailand              3
Trinadad&Tobago       2
United-States      7171
Vietnam               5
Yugoslavia            6

获取国家的最大值,我使用以下代码:

df.loc[df['salary'] == '>50K'].groupby('native-country')['native-country'].count().sort_values(ascending = False)[0]

返回:7171最大值,我能理解。

如何返回国家名称?IE:美国?

如有任何建议,不胜感激

你就快成功了。您只需要利用pandas中的max和idxmax函数:

df.loc[df['salary'] == '>50K'].groupby('native-country')['native-country'].count().idxmax()

最新更新