【发布时间】:2015-12-09 16:54:17
【问题描述】:
是否有任何方便的方法可以按行的最大值对每一行进行归一化(除以行的最大值) 例如:
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
【问题讨论】:
标签: python numpy pandas dataframe
是否有任何方便的方法可以按行的最大值对每一行进行归一化(除以行的最大值) 例如:
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
【问题讨论】:
标签: python numpy pandas dataframe
您可以使用 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
你也可以使用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
【讨论】:
df.div(df.max(axis=1),axis=0)。
axis=columns 我假设默认值是索引所以开始使用.t 强制形状,感谢您的建议