2016-11-07 68 views
0

我正在寫一個使用奧運資料的程序。熊貓「<class 'str'>」

所提出的問題是:

哪個國家贏得了最多的金牌在夏季奧運會?

答案是:

美國

這些都是一些變量和數據點,以供參考:

# 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 

了以下功能應該返回同一個字符串值,但它是返回一個熊貓數據幀

def answer_one(): 
    return df.loc[df['Gold'] == df['Gold'].max()] 

如何更正此功能?

+0

可以想像,如果有兩個國家之間的夏天金牌領帶,你會希望你的函數返回? – Kevin

回答

0

如果國名是你的索引列本應該做的伎倆:

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

+0

感謝您的幫助! – nanny

1

而是執行此操作:

def answer_one(): 
    return list(df.loc[df['Gold'] == df['Gold'].max()].index) 

這應該給你的國家的名單,最大金牌,如果有是關係。如果沒有關係,它會給出一個包含一個條目的列表:在你的情況下,結果將是['US']

0

你可以試試這個。它的工作對我來說

df.Gold.idxmax()

乾杯