[英]Divide Column in Pandas Dataframe by Sum of Column
我有一个数据框,我想将A列中的每一行除以A列的总和,并在该数据框内添加一个新列。
Example:
Col A New Col
2 .22
3 .33
4 .44
Total = 9 1.00
我尝试对A列求和,然后尝试除以“总计”,但是因为总计不是列而是行,所以它不起作用。 我只为新列中的每一行获取NaN。
df['New Col']= (df['ColA']/df.loc['Total'])
我知道您也可以在一行代码中集成一个总和计算,而不是也创建总计行,但不确定如何做到这一点并且无法在线找到任何内容。
df['New Col']= (df['ColA']/df.sum())
想法?
df['new'] = df['ColA'] / df['ColA'].sum()
应该管用
你很亲密 您要在Col A
系列上执行sum()
df['New Col'] = df['Col A']/df['Col A'].sum()
结果如下所示:
>>> df
Col A New Col
0 2 0.222222
1 3 0.333333
2 4 0.444444
现在,如果您执行df.sum()
则会得到一个具有每列总计的系列:
>>> df.sum()
Col A 9.0
New Col 1.0
dtype: float64
另一种方法是使用transform :
df['New Col'] = df['ColA'].transform(lambda x: x / x.sum())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.