0

我想在“金牌”栏中返回金牌数量最多的国家/地区名称。

# Summer    Gold    Silver  Bronze  Total   # Winter    Gold.1  Silver.1    Bronze.1    Total.1 # Games Gold.2  Silver.2    Bronze.2    Combined total  ID
Afghanistan 13  0   0   2   2   0   0   0   0   0   13  0   0   2   2   AFG
Algeria 12  5   2   8   15  3   0   0   0   0   15  5   2   8   15  ALG
Argentina   23  18  24  28  70  18  0   0   0   0   41  18  24  28  70  ARG
Armenia 5   1   2   9   12  6   0   0   0   0   11  1   2   9   12  ARM
Australasia 2   3   4   5   12  0   0   0   0   0   2   3   4   5   12  ANZ     

以下代码返回行对象,我想提取作为该行索引的国家/地区名称。

def return_max_name():

    return df.loc[df['Gold'].idxmax()]

return_max_name()

这是返回的内容:

# Summer            26
Gold               976
Silver             757
Bronze             666
Total             2399
# Winter            22
Gold.1              96
Silver.1           102
Bronze.1            84
Total.1            282
# Games             48
Gold.2            1072
Silver.2           859
Bronze.2           750
Combined total    2681
ID                 USA
Name: United States, dtype: object

我希望函数返回“美国”。我是 Pandas 的新手,我有点卡在这里,所以任何形式的帮助都会很棒!

4

1 回答 1

1

如果您找到了正确的行,并且该# Summer列具有国家/地区名称,则可以通过将列参数添加到loc.

尝试将您的退货线路更改为此。

return df.loc[df.Gold.idxmax(), '# Summer']
于 2020-04-20T21:06:12.663 回答