这里有点小众,我无法在任何地方找到等效的代码。我只是想找到某些列(不是所有列)中的最大值并将该最大值减一。它将是单行,而不是具有最大值的多行。
假设我有一个包含以下列的表格。我想将 A、B 和 D 列中的最大值减一:
A B C D
3 2 5 5
4 9 6 7
7 0 7 9
1 3 9 1
...生成一个表格,其中 A、B 和 D 列中的最大值减一。
A B C D
3 2 5 5
4 8 6 7
6 0 7 8
1 3 9 1
(我实际上正在处理一个大约 40 行的表,其中大约 8 行我想将其中的最大值减少 1)。谢谢。
用途:
cols = ['A','B','D']
df[df[cols].eq(df[cols].max())] -= 1
print (df)
A B C D
0 3 2 5 5
1 4 8 6 7
2 6 0 7 8
3 1 3 9 1