【发布时间】:2020-04-22 05:54:26
【问题描述】:
我创建了这个函数:
def designate(people,race):
global i2
global clilaw
i2=i2.sort_values(by=people)
i2=pd.merge(i2,clilaw,how='left',left_on=people,right_on='category')
i2[race]=i2['race']
当我单独输入值时,它会起作用。
designate(prl[1],race2[1])
designate(prl[2],race2[2])
...
designate(prl[12],race2[12])
但是当我尝试创建一个循环来执行此操作时,如下所示:
for k in range(len(prl)):
designate(prl[k],race2[k])
我得到一个关键错误:
KeyError: 'race'
【问题讨论】:
标签: python-3.x pandas for-loop merge keyerror