我有一个像这样的熊猫数据框:
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)
您可以为新列指定用"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)