我有一个包含各种列的DataFrame(df)。在这项任务中,我必须使用有关奥运会的统计数据,找出每个国家的夏季金牌和冬季金牌相对于总奖牌的差异。 我必须只包括至少有一枚金牌的国家。我试图使用dropna()来不包括那些至少没有一枚奖牌的国家。我目前的代码:
def answer_three():
df['medal_count'] = df['Gold'] - df['Gold.1']
df['medal_count'].dropna()
df['medal_dif'] = df['medal_count'] / df['Gold.2']
df['medal_dif'].dropna()
return df.head()
print (answer_three())
这导致以下输出:
# Summer Gold Silver Bronze Total # Winter Gold.1 \
Afghanistan 13 0 0 2 2 0 0
Algeria 12 5 2 8 15 3 0
Argentina 23 18 24 28 70 18 0
Armenia 5 1 2 9 12 6 0
Australasia 2 3 4 5 12 0 0
Silver.1 Bronze.1 Total.1 # Games Gold.2 Silver.2 Bronze.2 \
Afghanistan 0 0 0 13 0 0 2
Algeria 0 0 0 15 5 2 8
Argentina 0 0 0 41 18 24 28
Armenia 0 0 0 11 1 2 9
Australasia 0 0 0 2 3 4 5
Combined total ID medal_count medal_dif
Afghanistan 2 AFG 0 NaN
Algeria 15 ALG 5 1.0
Argentina 70 ARG 18 1.0
Armenia 12 ARM 1 1.0
Australasia 12 ANZ 3 1.0
我需要摆脱' 0' " medal_count"中的值并且" medal_dif"中的NaN。 我也知道我编写代码的数学/方式可能不正确解决问题,但我想我需要先删除这些值?任何上述任何帮助都非常感谢。