例如,假设我有一个df
a b c
1 3 5
5 9 4
我有if
个条件:
if a < 2:
3
elif a < 3:
4
else: b + c
如何测试条件并为df的每一行返回结果,如下所示?
a b c d
1 3 5 3
5 9 4 13
编辑:理想情况下,我想创建一个function
,允许我
def function(a, b, c)
df['d'] = function(a, b, c)
并计算所有数据行。因为在实际数据中,有100多个条件语句和10s的列。
答案 0 :(得分:1)
您可以使用套用方法:
def custom_calc(x, a , b):
if x[0] < 2:
return 3
if x[0] > 3:
return x + a + b
df.a = df[['a', 'b', 'c']].apply(func=check, args=(df.b,df.c))
根据需要编辑自定义功能
答案 1 :(得分:1)
您可以沿轴1使用true|false
功能。
apply