我正在编写一个使用奥运会数据的程序。
被问到的问题是:
哪个国家在夏季奥运会上获得最多金牌?
答案是:
美国
以下是一些可供参考的变量和数据点:
# Summer Gold Silver Bronze Total medals
United Arab Emirates 8 1 0 0 1
United States 26 976 757 666 2399
Uruguay 20 2 2 6 10
下面的函数应该返回一个字符串值,但是它返回的是一个pandas数据帧
def answer_one():
return df.loc[df['Gold'] == df['Gold'].max()]
如何修正此函数?
改为:
def answer_one():
return list(df.loc[df['Gold'] == df['Gold'].max()].index)
这应该会给你一个金牌数最多的国家名单,如果有平局的话。如果没有关系,它将只给出一个包含一个条目的列表:在您的示例中,结果将是['US']
。
如果国家名称是您的索引列,这应该可以做到:
df.loc[df['Gold'].idxmax()]
你可以试试这个。
df.Gold.idxmax ()
欢呼
def answer_one():
return df[df['Gold'] == df['Gold'].max()].index[0]