假设我具有以下数据框:
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%
我研究了密度函数和其他类似函数,但无法弄清楚。
任何帮助将不胜感激!
答案 0 :(得分:4)
将crosstab
与normalize
一起使用
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