【发布时间】:2022-11-10 17:21:26
【问题描述】:
我是 Python 新手,我正在尝试根据同一数据帧的另一列的条件计算数据帧的新列。
我有一个包含 A、B、C、D、E 列的 DataFrame。
我需要计算新列 F:
F = A - B if E == 'Y'
F = A - (C + D) if E == 'N'
我尝试使用函数Apply,但它不起作用。
这是我的代码:
def my_funcion(column):
if column == 'N' :
return df['B']
if column== 'Y' :
return (df['C'] + df['D'])
df['F'] = df['A'] - df.apply(myfunction(df['E'], axis=1)
但它向我显示了这个错误:
ValueError:('一个Series的真值不明确。使用a.empty, a.bool(), a.item(), a.any() 或 a.all().', u'发生在索引 0'
【问题讨论】: