熊猫按其他列细分

时间:2018-10-29 15:19:57

标签: python pandas distribution percentage

假设我具有以下数据框:

    distributor   channel
 1   Warner        CH1
 2   Warner        CH2
 3   Warner        CH2
 4   Warner        CH3
 5  Columbia       CH4

在这个简单的示例中,我想要获得每个分销商的渠道分配:

    distributor  CH1 CH2 CH3 CH4 
1    Warner      25% 50% 25%  0%
2   Columbia      0% 0%  0%  100%

我研究了密度函数和其他类似函数,但无法弄清楚。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:4)

crosstabnormalize一起使用

pd.crosstab(df.distributor,df.channel,normalize='index')
Out[506]: 
channel       CH1  CH2   CH3  CH4
distributor                      
Columbia     0.00  0.0  0.00  1.0
Warner       0.25  0.5  0.25  0.0