首页 > 解决方案 > 如何从熊猫数据框中的另一列创建列,如下所示

问题描述

我有一个数据框,其中包含列 x、y、z、A 的重复记录

X    Y   Z   A
a   US   88  2016
a   IND  88  2016
a   IND  88  2017
a   RSA  45  2017
a   RSA  45  2018
b   US   65  2017
b   RSA  58  2018
c   RSA  58  2016

我想通过计算 X 列的每个值的不同国家/地区来从 A 列的值创建列。如下所示。

X     Z   2016  2017 2018 
a     88    2     1    0
a     45    0     1    1 
b     65    0     1    0
c     58    1     0    0

我不知道如何在 python 中做到这一点,请帮助我

标签: pythonpandaspandas-groupbydata-science

解决方案


您可以使用pivot_table

df.pivot_table('Y',['X','Z'],'A',aggfunc='count', fill_value=0).reset_index()

输出:

A  X   Z  2016  2017  2018
0  a  45     0     1     1
1  a  88     2     1     0
2  b  58     0     0     1
3  b  65     0     1     0
4  c  58     1     0     0

推荐阅读