按行规范化大 pandas DataFrame [英] Normalizing a pandas DataFrame by row

查看:112
本文介绍了按行规范化大 pandas DataFrame的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于大熊猫DataFrame的每行进行规范化,最常用的方式是什么?归一化列很容易,所以一个(非常丑的!)选项是




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



熊猫广播规则阻止 df / df.sum(axis = 1 )

解决方案

为了克服广播问题,您可以使用 div 方法:

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

请参阅 http://pandas.pydata.org/pandas-docs/stable/basics.html#matching-broadcasting-behavior


What is the most idiomatic way to normalize each row of a pandas DataFrame? Normalizing the columns is easy, so one (very ugly!) option is

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

Pandas broadcasting rules prevent df / df.sum(axis=1) from doing this

解决方案

To overcome the broadcasting issue, you can use the div method:

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

See http://pandas.pydata.org/pandas-docs/stable/basics.html#matching-broadcasting-behavior

这篇关于按行规范化大 pandas DataFrame的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆