简体   繁体   English

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

[英]Trouble creating new variable based off of existing variable

I am trying to create a new variable based off of an existing variable in my df. 我试图基于df中的现有变量创建一个新变量。 I have run into this error before and I would like to know what I am doing wrong. 我之前遇到过此错误,我想知道我在做什么错。

Code: 码:

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' object is not callable", 'occurred at index 0') TypeError :(“'str'对象不可调用”,“发生在索引0”)

I feel like there is an obvious answer that I am missing... 我觉得我想念一个明显的答案...

您甚至不需要DEMO2功能。

merge_df['DEMO2']=merge_df.DEMO.replace({'02-05C':'P 02-11','65+M':'P 55-99'})

Well you're getting that error because of this 好吧,你正因为这个而得到这个错误

merge_df['DEMO2']=merge_df.apply('DEMO2', axis=1)

Should (probably) be this: 应该(可能)是这样的:

merge_df['DEMO2']=merge_df.apply(DEMO2, axis=1)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM