【问题标题】:extract new columns and fill values based on categorical values data frame in python根据python中的分类值数据框提取新列并填充值
【发布时间】:2021-01-24 17:41:30
【问题描述】:

我有一个数据框,其中一列是分类字符串,下一列是与之对应的值:

df = pd.DataFrame(list((['a', 'b', 'c', 'buy', 5],
                      ['f', 'b', 'a', 'buy', 2],
                      ['a', 'b', 'c', 'sold', 6],
                      ['a', 'b', 'f', 'buy', 4],
                      ['a', 'b', 'c', 'returned', 'yes'])), columns = ['attr1', 'attr2','attr3','status','value'])

我想基于df.status 列创建新列,并用np.nan 填充空列,需要在多个列上进行透视:

我正在寻找一种适用于大型数据帧的高效解决方案。

【问题讨论】:

    标签: python dataframe pivot multiple-columns categorical-data


    【解决方案1】:

    你想要:

    In [255]: df.pivot(index=['attr1', 'attr2', 'attr3'],columns='status', values='value').rename_axis(None, axis=1).reset_index()
    Out[255]: 
      attr1 attr2 attr3 buy returned sold
    0     a     b     c   5      yes    6
    1     a     b     f   4      NaN  NaN
    2     f     b     a   2      NaN  NaN
    

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 2020-11-26
      • 2018-03-13
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      相关资源
      最近更新 更多