【问题标题】:pandas map list values to corresponding column熊猫将列表值映射到相应的列
【发布时间】:2021-09-03 02:55:31
【问题描述】:

我有一个表 (df),其中有一个“操作”列,其中包含一个列表,其中包含 4 个选项中的 2 个值: do1,do2,do3,do4

print(df['actions'])

0    [do1, do4]
1    [do2, do1]
2    [do2, do3]
3    [do2, do1]
4    [do4, do2]

我正在寻找正确的地图函数,以便将 4 列添加到表中,并使用“操作”列中的相应值填充每一列。例如:

print(df)
do1, do2, do3, do4
1    0     0    1
1    1     0    0 

【问题讨论】:

    标签: python pandas list numpy dictionary


    【解决方案1】:

    IIUC,你可以试试:

    df = pd.DataFrame({'action': {'0': ['do1', 'do4'],
                                  '1': ['do2', 'do1'],
                                  '2': ['do2', 'do3'],
                                  '3': ['do2', 'do1'],
                                  '4': ['do4', 'do2']}})
    
    df = pd.get_dummies(df.action.explode()).groupby(level=0).agg(sum)
    

    输出:

       do1  do2  do3  do4
    0    1    0    0    1
    1    1    1    0    0
    2    0    1    1    0
    3    1    1    0    0
    4    0    1    0    1
    

    【讨论】:

      猜你喜欢
      • 2021-05-03
      • 2021-04-30
      • 2019-01-02
      • 2017-10-31
      • 1970-01-01
      • 2019-07-12
      • 2021-05-03
      • 2019-05-19
      • 1970-01-01
      相关资源
      最近更新 更多