我有一个数据框,其中包含具有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中执行此操作,请对此提供帮助
答案 0 :(得分:0)
您可以使用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