Панды разбивка столбца по другим столбцам - PullRequest
0 голосов
/ 29 октября 2018

при условии, что у меня есть следующий фрейм данных:

    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 голосов
/ 29 октября 2018

Использование 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
...