[英]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.