【问题标题】:How to reshape a pandas DataFrame?如何重塑熊猫数据框?
【发布时间】:2021-09-06 11:25:45
【问题描述】:

我想重塑 DataFrame,但我不确定最好的方法是什么:

原始数据框为:

df1 = pd.DataFrame({'A':['a','a','b','b'],'B':[1,2,2,3]})

我想把它改造成:

df2 = pd.DataFrame({'a':[1,2],'b':[2,3]})

谁能解释我如何做到最好?

提前谢谢你!

【问题讨论】:

    标签: pandas dataframe reshape


    【解决方案1】:

    你可以在对输入进行一点重组后使用pivot

    (df1.assign(index=df1.groupby('A').cumcount())
        .pivot(index='index', columns='A', values='B')
        .rename_axis(None).rename_axis(None, axis=1)
    )
    

    unstack:

    (df1.set_index([df1.groupby('A').cumcount(), 'A'])
        .unstack().droplevel(0, axis=1)
        .rename_axis(None, axis=1)
    )
    

    输出:

        a  b   
    0   1  2
    1   2  3
    

    【讨论】:

      猜你喜欢
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 2021-11-03
      相关资源
      最近更新 更多