微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Pandas 查找列的最大值并返回相应的行值

如何解决使用 Pandas 查找列的最大值并返回相应的行值

假设df一个唯一索引,这将给出具有最大值的行:

In [34]: df.loc[df['Value'].idxmax()]
Out[34]: 
Country        US
Place      Kansas
Value         894
Name: 7

请注意,idxmax返回索引 标签 。因此,如果 DataFrame 在索引中有重复项,则标签可能无法唯一标识行,因此df.loc可能返回多行。

因此,如果df没有唯一索引,则必须先使索引唯一,然后再进行上述操作。根据 DataFrame,有时您可以使用stackset_index使索引唯一。或者,您可以简单地重置索引(因此行重新编号,从 0 开始):

df = df.reset_index()

解决方法

数据结构;

使用 Python Pandas 我试图找到具有最大值的Country& 。Place

这将返回最大值:

data.groupby(['Country','Place'])['Value'].max()

但是如何获得对应的CountryPlace名称呢?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。