从 pandas .max() 中的多个对象获取最大值

我有一个这样的数据集:


ID   column_1  column_2 column_3 column 4

AAA   0.1        0.6      0.1     0.2

AAA   0.2        0.2      0.2     0.1

BBB   0.5        0.5      0.1     0.1

BBB   0.1        0.3      0.1     0.2

output = (df['column_1'] – df['column_2']) / (df['column_3'], 5 * df['column_1'], 0.01 * abs(df['column_4'])).max(axis=1)

但它给了我一个错误:


SyntaxError: invalid character in identifier

预期的输出可以描述为这个例子:对于第一行 - 输出 = (0.1 - 0.6) / max(0.1, 5*0.1, 0.01*abs(0.2)) = -0.5/0.5 = -1 有人可以给我一些提示吗?提前致谢。


翻翻过去那场雪
浏览 179回答 2
2回答

芜湖不芜

解决方案是通过连接将它们连接起来,然后按行使用:maxs = pd.concat([df['column_3'],                5 * df['column_1'],                0.01 * abs(df['column_4'])], axis=1).max(axis=1)output = (df['column_1'] - df['column_2']) / sprint (output)0   -1.01    0.02    0.03   -0.4dtype: float64

Helenr

你的减号并不是真正的减号。你有em破折号而不是短划线。(df['column_1'] – df['column_2'])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python