按行规范化大 pandas DataFrame [英] Normalizing a pandas DataFrame by row
本文介绍了按行规范化大 pandas 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屋!
查看全文