【问题标题】:Make column values to new columns and fill it will another columns, If the value not present, replace with zero将列值设为新列并将其填充到另一列,如果值不存在,则替换为零
【发布时间】:2018-07-21 18:18:43
【问题描述】:

我有一个这样的数据集:

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

我希望 col2 值成为新列,而 col3 值将是如下值:

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

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

【问题讨论】:

    标签: python python-3.x pandas dataframe


    【解决方案1】:

    你想要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
    

    【讨论】:

    • 谢谢,知道如何像本例那样重置列,列将是:col1、ex1、ex2、ex3、ex4、ex5
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 2020-06-25
    • 2021-10-22
    • 2020-03-11
    相关资源
    最近更新 更多