数据帧对每一行的最大值进行归一化

Rob*_*988 5 python numpy dataframe pandas

是否有任何方便的方法来标准化每一行的最大值(除以一行的最大值),例如:

df=
A  B  C
2  1  1
1  4  1
0  2  1
return:
A     B     C
1    0.5   0.5
0.25  1   0.25
0     1    0.5
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 6

您可以apply逐行使用和应用lambda:

In [199]:
df.apply(lambda x: x/x.max(), axis=1)

Out[199]:
      A    B     C
0  1.00  0.5  0.50
1  0.25  1.0  0.25
2  0.00  1.0  0.50
Run Code Online (Sandbox Code Playgroud)

您也可以使用div

In [205]:
df.div(df.max(axis=1), axis=0)

Out[205]:
      A    B     C
0  1.00  0.5  0.50
1  0.25  1.0  0.25
2  0.00  1.0  0.50
Run Code Online (Sandbox Code Playgroud)

  • 还有`df.div(df.max(axis = 1),axis = 0)`。 (6认同)