簡體   English   中英

在 Pandas 總和列中並將值更改為總和的比例

[英]In Pandas sum columns and change values to proportion of sum

如果我有以下 DataFrame,如何將每行中的值轉換為列總數的比例?

輸入:

pd.DataFrame(
{'A': {0: 1, 1: 1},
 'B': {0: 1, 1: 2},
 'C': {0: 1, 1: 9},})

輸出:

pd.DataFrame(
{'A': {0: 0.5, 1: 0.5},
 'B': {0: 0.333, 1: 0.666},
 'C': {0: 1, 0.1: 0.9},})

怎么apply

import pandas as pd

df = pd.DataFrame(
{'A': {0: 1, 1: 1},
 'B': {0: 1, 1: 2},
 'C': {0: 1, 1: 9},})

df = df.apply(lambda col: col / sum(col))
print(df)
     # A         B    C
# 0  0.5  0.333333  0.1
# 1  0.5  0.666667  0.9

嘗試

out = df.div(df.sum())
Out[549]: 
     A         B    C
0  0.5  0.333333  0.1
1  0.5  0.666667  0.9

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM