首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用GroupBy计算类别数据占熊猫数据框中每个类别的百分比

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

Stack Overflow用户
提问于 2020-02-16 22:15:54
回答 1查看 465关注 0票数 1

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

代码语言:javascript
运行
AI代码解释
复制
  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']))聚合数据,并计算分类数据占每个类别的百分比,以使结果类似于下面的数据框?

代码语言:javascript
运行
AI代码解释
复制
  ZIP    YEAR        COLOR
                  0      1

11111    1990    50     50        
         2000     0    100
22222    1990   100      0         
         2000    50     50
代码语言:javascript
运行
AI代码解释
复制
import pandas as pd

df = pd.DataFrame([{11111, 1990, 0},
                   {11111, 1990, 1}, 
                   {11111, 2000, 1}, 
                   {11111, 2000, 1}, 
                   {22222, 1990, 0}, 
                   {22222, 1990, 0}, 
                   {22222, 2000, 0}, 
                   {22222, 2000, 1}]
                  , columns=["ZIP", "YEAR", "COLOR"]
                 )
EN

回答 1

Stack Overflow用户

发布于 2020-02-16 22:41:14

尝试:

代码语言:javascript
运行
AI代码解释
复制
df.groupby(["ZIP", "YEAR"])["COLOR"].value_counts(normalize=True).mul(100).unstack("COLOR").fillna(0)

输出:

代码语言:javascript
运行
AI代码解释
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60253710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档