我正在尝试使用Python Pandas查找具有 最大值的Country&。Place
这将返回最大值:
data.groupby(['Country','Place'])['Value'].max()
但我怎么得到相应Country和Place的名字吗?
假设df有一个唯一的索引,则该行具有最大值:
df
In [34]: df.loc[df['Value'].idxmax()] Out[34]: Country US Place Kansas Value 894 Name: 7
请注意,idxmax返回索引标签。因此,如果DataFrame在索引中有重复项,则标签可能不会唯一地 标识行,因此df.loc可能会返回多个行。
idxmax
DataFrame
df.loc
因此,如果df没有唯一索引,则必须按照上述步骤使索引唯一。取决于DataFrame,有时您可以使用stack或set_index使索引唯一。或者,您可以简单地重置索引(这样行将被重新编号,从0开始):
stack
set_index
df = df.reset_index()