将列值设为新列,并填充其他列.如果值不存在,则替换为零



我有一个这样的数据集:

col1     col2     col3
a         ex1      102
a         ex2      25
a         ex3      50
a         ex4      66
b         ex2      45
b         ex5      20
c         ex1      30

我希望col2valus是新列,col3valus将是如下值:

col1  ex1   ex2    ex3    ex4    ex5
a    102    25     50     66     0
b     0     45      0     0      20
c     30    0       0      0     0

如果该值不存在,它将像输出一样为零

您想要pivot_table

df.pivot_table(index='col1', columns='col2', values='col3', fill_value=0).reset_index()
col2    col1    ex1    ex2  ex3    ex4  ex5
0       a       102    25   50     66   0
1       b       0      45   0      0    20
2       c       30     0    0      0    0

最新更新