按总和归一化 pandas DataFrame行

2022-05-18 00:00:00 python pandas dataframe normalization

问题描述

将 pandas DataFrame的每一行标准化的最常用的方法是什么?将列正常化很容易,所以一个(非常难看!)选项为:

(df.T / df.T.sum()).T

pandas 广播规则禁止df / df.sum(axis=1)这样做


解决方案

要解决直播问题,可以使用div方法:

df.div(df.sum(axis=1), axis=0)

参见pandas User Guide: Matching / broadcasting behavior

相关文章