【发布时间】:2017-09-09 12:52:02
【问题描述】:
我正在尝试在数据帧上应用 if 条件,但我遗漏了一些东西(错误:系列的真值不明确。使用 a.empty、a.bool()、a.item() , a.any() 或 a.all()。)
raw_data = {'age1': [23,45,21],'age2': [10,20,50]}
df = pd.DataFrame(raw_data, columns = ['age1','age2'])
def my_fun (var1,var2,var3):
if (df[var1]-df[var2])>0 :
df[var3]=df[var1]-df[var2]
else:
df[var3]=0
print(df[var3])
my_fun('age1','age2','diff')
【问题讨论】:
-
错误意味着,在您选择的列中有一些值,它们被评估为 True,还有一些值被评估为 False。您可能需要每行运行 my_fun。
-
我不知道每行的这种方法,你能给我任何提示吗?
-
查看@jezrael 的答案,这是更好的解决方案
标签: python pandas if-statement dataframe