Pandas列中的最大值和减去

mag*_*ord 2 python pandas

我有一个像这样的熊猫数据框:

df = pd.DataFrame({'A':[1,1,1,2,2,2,3,3,3],
               'B':[3,2,20,1,6,2,3,22,1]})
Run Code Online (Sandbox Code Playgroud)

我想找到列'B'中的'max'值然后从'B'列的所有值中减去这个最大值,并用新结果创建一个新列'C'.底部df的最大值为22.

   A  B  C
2  1  3  -19
1  1  2  -20
0  1  20 -2
3  2  1  -21
5  2  6  -16
4  2  2  -20
8  3  3  -19
7  3  22  0
6  3  1  -21
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 6

您可以为新列指定用"B" max列减去"B"列的结果:

In [25]:
df['C'] = df['B'] - df['B'].max()
df

Out[25]:
   A   B   C
0  1   3 -19
1  1   2 -20
2  1  20  -2
3  2   1 -21
4  2   6 -16
5  2   2 -20
6  3   3 -19
7  3  22   0
8  3   1 -21
Run Code Online (Sandbox Code Playgroud)