计算按其他列的唯一值分组的唯一值百分比

car*_*lie 2 python pandas pandas-groupby

我有以下数据框:

bin_class = [0,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1]
teams = ['A','B','B','A','A','B','B','A','A','B','B','A','A','B','B','A','B','B']
d = {'Team':teams,'Classification':bin_class}
df = pd.DataFrame(d)

Team    Classification
0   A   0
1   B   1
2   B   1
3   A   1
4   A   0
5   B   0
6   B   0
7   A   0
8   A   1
9   B   1
10  B   0
11  A   0
12  A   0
13  B   0
14  B   0
15  A   0
16  B   0
17  B   1
Run Code Online (Sandbox Code Playgroud)

我需要找出每个团队每个bin_class的百分比。即,在团队A的所有行中,0%和1%是多少?我尝试了几种失败了并且过于复杂的方法,有没有简单的方法可以做到这一点?

WeN*_*Ben 6

使用 crosstab

pd.crosstab(df.Team,df.Classification,normalize='index')
Out[498]: 
Classification     0     1
Team                      
A               0.75  0.25
B               0.60  0.40
Run Code Online (Sandbox Code Playgroud)