首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个类别的Pandas DataFrame计数元素

每个类别的Pandas DataFrame计数元素
EN

Stack Overflow用户
提问于 2019-04-13 08:15:38
回答 1查看 373关注 0票数 1

看看下面的Pandas数据框,它显示了不同制造商和车型年份的汽车销量:

代码语言:javascript
复制
df = pd.DataFrame({'Y17': [ 1,       2,       1,     1,       0,       0,     1,       2,       2,     0],
                   'Y18': [ 0,       0,       1,     1,       1,       0,     0,       0,       0,     1],
                   'Make': ['Ford',  'Jeep',  'BMW', 'BMW',   'Mazda', 'Jeep', 'Chevy', 'BMW',  'Mazda','Ford']})

Make    Y17 Y18
Ford    1   0
Jeep    2   0
BMW     1   1
BMW     1   1
Mazda   0   1
Jeep    0   0
Chevy   1   0
BMW     2   0
Mazda   2   0
Ford    0   1

每一行都属于特定商店的销售额(未记录)。

我想要透视这个数据帧来获得条目的数量,比如index是"make“,列是"year”和"number of sales“的组合(多级列就可以了)。输出应该是这样的:

代码语言:javascript
复制
           Y17            Y18
        0   1   2      0   1   2
Make            
BMW     0   2   1      1   2   0
Chevy   0   1   0      1   0   0
Ford    1   1   0      1   1   0
Jeep    1   0   1      2   0   0
Mazda   1   0   1      1   1   0
EN

回答 1

Stack Overflow用户

发布于 2019-04-13 08:46:55

先使用melt,然后使用crosstab

代码语言:javascript
复制
s=df.melt('Make')
pd.crosstab(s.Make,[s.variable,s.value]).stack().fillna(0).unstack()
variable Y17        Y18          
value      0  1  2    0    1    2
Make                             
BMW        0  2  1  1.0  2.0  0.0
Chevy      0  1  0  1.0  0.0  0.0
Ford       1  1  0  1.0  1.0  0.0
Jeep       1  0  1  2.0  0.0  0.0
Mazda      1  0  1  1.0  1.0  0.0
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55660893

复制
相关文章

相似问题

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