使用GroupBy计算类别数据作为熊猫数据框中每个类别的百分比

问题描述 投票:0回答:1

我有一个熊猫数据框,其中列COLOR包含分类数据-

  ZIP    YEAR    COLOR
11111    1990        0   
11111    1990        1
11111    2000        1 
11111    2000        1
22222    1990        0
22222    1990        0
22222    2000        0
22222    2000        1

我如何通过ZIPYEAR列(df.groupby(['ZIP', 'YEAR']))汇总数据,并以每种类别的百分比计算类别数据,以使结果类似于下面的数据框?

  ZIP    YEAR        COLOR
                  0      1

11111    1990    50     50        
         2000     0    100
22222    1990   100      0         
         2000    50     50
python pandas
1个回答
0
投票

尝试:

df.groupby(["ZIP", "YEAR"])["COLOR"].value_counts(normalize=True).mul(100).unstack("COLOR").fillna(0)

输出:

COLOR           0      1
ZIP   YEAR
11111 1990   50.0   50.0
      2000    0.0  100.0
22222 1990  100.0    0.0
      2000   50.0   50.0
© www.soinside.com 2019 - 2024. All rights reserved.