python - 根据现有变量创建新变量时遇到问题

标签 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)

类型错误:(“'str'对象不可调用”,'发生在索引 0 处')

我觉得我缺少一个明显的答案......

最佳答案

您甚至不需要DEMO2功能。

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

关于python - 根据现有变量创建新变量时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47205988/

相关文章:

Python 数字字符串到时间的转换

python - 如何在 Pandas 的多列中填充 NA 值?

python - 连接变量和字符串Python脚本

python - 将一行除以具有相同日期时间的所有其他行的平均值

python - Pandas 计算频率周期

numpy - Pandas 不在,在和之间

python - 在 Python 中查询日期时间对象并与当前日期进行比较

Python:列表迭代仅返回最后一个值

python - 使用 Telethon : some entity parameters work, 发送 Telegram 消息,其他人则不发送?

python - 使用 Pandas query() 过滤时间戳列上的数据帧