我正在尝试根据df中的现有变量创建一个新变量。我之前遇到过这个错误,我想知道我做错了什么。
代码:
def DEMO2(a):
if a['DEMO']=='02-05C':
return 'P 02-11'
elif a['DEMO']=='65+M':
return 'P 55-99'
merge_df['DEMO2']=merge_df.apply('DEMO2', axis=1)
TypeError :(“'str'对象不可调用”,'出现在索引0')
我觉得我错过了一个明显的答案......
答案 0 :(得分:2)
您甚至不需要DEMO2功能。
merge_df['DEMO2']=merge_df.DEMO.replace({'02-05C':'P 02-11','65+M':'P 55-99'})
答案 1 :(得分:0)
因为这个
你得到了这个错误merge_df['DEMO2']=merge_df.apply('DEMO2', axis=1)
应该(可能)是这样的:
merge_df['DEMO2']=merge_df.apply(DEMO2, axis=1)