使用python从给定数据中查找国家的资格
我试图解决的问题如下: 哪个国家的夏季金牌数和冬季金牌数与金牌总数的差距最大 仅包括在夏季和冬季至少赢得1枚金牌的国家。 此函数应返回单个字符串值 数据 金牌:夏季金牌数 金牌1:冬季金牌数 黄金。2:全部黄金 代码使用python从给定数据中查找国家的资格,python,database,data-science,Python,Database,Data Science,我试图解决的问题如下: 哪个国家的夏季金牌数和冬季金牌数与金牌总数的差距最大 仅包括在夏季和冬季至少赢得1枚金牌的国家。 此函数应返回单个字符串值 数据 金牌:夏季金牌数 金牌1:冬季金牌数 黄金。2:全部黄金 代码 def answer_three(): df1=df[(df['Gold']>0) & (df['Gold.1']>0)] df['difference']=(df1['Gold']-df1['Gold.1']).abs()/df
def answer_three():
df1=df[(df['Gold']>0) & (df['Gold.1']>0)]
df['difference']=(df1['Gold']-df1['Gold.1']).abs()/df1['Gold.2']
return df['difference'].idxmax()
answer_three()
错误
NameError Traceback (most recent call last)
<ipython-input-7-cf807e29ca1b> in <module>()
3 df['difference']=(df1['Gold']-df1['Gold.1']).abs()/df1['Gold.2']
4 return df['difference'].idxmax()
----> 5 answer_three()
6
<ipython-input-7-cf807e29ca1b> in answer_three()
1 def answer_three():
----> 2 df1=df[(df['Gold']>=1) & (df['Gold.1']>=1)]
3 df['difference']=(df1['Gold']-df1['Gold.1']).abs()/df1['Gold.2']
4 return df['difference'].idxmax()
5 answer_three()
NameError: name 'df' is not defined
namererror回溯(最近一次调用)
在()
3 df['difference']=(df1['Gold']-df1['Gold.1']).abs()/df1['Gold.2']
4返回df['difference'].idxmax()
---->5答案(三)
6.
在答复中(三)
1.答案三:
---->2 df1=df[(df['Gold']>=1)和(df['Gold.1']>=1)]
3 df['difference']=(df1['Gold']-df1['Gold.1']).abs()/df1['Gold.2']
4返回df['difference'].idxmax()
5答案(三)
NameError:未定义名称“df”
我能够得出一个答案,但条件是该国在夏季和冬季至少获得1枚金牌。我希望有人能帮我修正第2行的错误
谢谢您必须将
def
定义为dict()
,变量未实例化时会出现namererror
异常。试试这个:
def answer_three():
df = {}
df1=df[(df['Gold']>0) & (df['Gold.1']>0)]
....
必须将
def
定义为dict()
,变量未实例化时会出现namererror
异常。试试这个:
def answer_three():
df = {}
df1=df[(df['Gold']>0) & (df['Gold.1']>0)]
....
答复三
answer_three()好吧,
df
在您的代码中的任何地方都没有定义,在answer_three()
中使用它。您能让我们看看df吗?并在函数的第一行尝试“全局df”。也许这就是问题所在。错误实际上告诉您,df
没有定义好,df
在您在answer\u three()
中使用之前,代码中的任何地方都没有定义。您能让我们看看df吗?并在函数的第一行尝试“全局df”。也许这就是问题所在。错误字面上告诉您,df
没有定义。这只是将NameError
交换为keyrorm:'Gold'
。语法用于pandas
DataFrame(因此名称df
,这是它们使用的标准名称)。这个答案并不能解决问题。它只是将namererror
交换为KeyError:'Gold'
。语法用于pandas
DataFrame(因此名称df
,这是它们使用的标准名称)。这个答案并不能解决问题。请给你的答案多一点上下文,不要只贴代码。请给你的答案多一点上下文,不要只贴代码。