【发布时间】:2021-08-04 17:17:29
【问题描述】:
在以下代码中,我尝试先定义一个函数并将该函数应用于数据框以重置地理区域。
import pandas as pd
testdata ={'country': ['USA','AUT','CHE','ABC'], 'geozone':[0,0,0,0]}
d =pd.DataFrame.from_dict(testdata, orient = 'columns')
def setgeozone(dataframe, dcountry, dgeozone):
dataframe.loc[dataframe['dcountry'].isin(['USA','CAN']),'dgeozone'] =1
dataframe.loc[dataframe['dcountry'].isin(['AUT','BEL']),'dgeozone'] =2
dataframe.loc[dataframe['dcountry'].isin(['CHE','DNK']),'dgeozone'] =3
setgeozone(d, country, geozone)
我收到错误消息:
Traceback (most recent call last):
File "<ipython-input-56-98dad4781f73>", line 1, in <module>
setgeozone(d, country, geozone)
NameError: name 'country' is not defined
谁能帮我理解我做错了什么。
非常感谢。
【问题讨论】:
-
数据框中的列是
country,但函数中的访问是dcountry。其中之一是错误的。