无法根据现有变量创建新变量

时间:2017-11-09 15:43:41

标签: python pandas

我正在尝试根据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')

我觉得我错过了一个明显的答案......

2 个答案:

答案 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)