我想计算一个两列中最大值的值,如下所示:
df = pd.DataFrame( {'a':[1,3,5],
'b':[6,4,2] } )
df['c'] = df.eval('maximum(a,b)')
我收到“ValueError:“最大值”不是受支持的函数”。即使我使用
engine='python'
也是如此。令人惊讶的是,因为maximum
是一个ufunc
。所需的精确计算必须作为外部字符串提供。
我该怎么办?
eval('maximum(df.a, df.b)')
确实工作正常,但出于可读性原因我宁愿不这样做。
df["C"] = df[["A", "B"]].max(axis=1)
这背后的直觉是,当 axis = 1 时,它会选择水平方向上行的最大值,即 [1, 3 会选择 3 和 6 作为新值,反之亦然。 3, 6] 反之亦然,如果您想在列之间进行选择,则相反