我面临以下问题: 我可以进行条件列计算, 但, 我不能按条件对每一行使用函数 min、max、mean
import pandas as pd
data = {'Name': ['Tom', 'nick', 'krish', 'jack','bob'],
'level_1': [2, -3, 7, -4,-2],
'level_2': [6, 5, -3, -9,2],
'level_3': [-2, -1, 4, 6,-4],
}
df = pd.DataFrame(data)
print(df)
def f(row):
if (row['level_1'] < 0) & (row['level_2'] < 0):
val = row['level_1'] + row['level_2']
elif (row['level_1'] > 0) & (row['level_2'] > 0):
val = row['level_1'] - row['level_2']
else:
val = row[['level_1','level_2','level_3']].max#(axis=1)
return val
df['level_final'] = df.apply(f, axis=1)
print(40*'#')
print(df)
有人可以帮我吗?
您在 else 语句中缺少 .max 中的括号