【问题标题】:Pandas: pivoting rows to columns with columns as column-rowPandas:将行旋转到列,列作为列行
【发布时间】:2020-04-09 21:51:13
【问题描述】:

我有一个看起来像这样的数据框

df = pd.DataFrame({'A': [1,2,3], 'B': [11,12,13]})
df

    A   B
0   1   11
1   2   12
2   3   13

我想创建以下数据框,其中列是每个列行的组合

    A0  A1  A2  B0  B1  B2
0   1   2   3   11  12  13

看起来,pivot 和 transpose 函数会切换列和行,但我实际上想将数据框展平为单行。我怎样才能做到这一点?

【问题讨论】:

    标签: python pandas pivot transpose melt


    【解决方案1】:

    IIUC

    s=df.stack().sort_index(level=1).to_frame(0).T
    s.columns=s.columns.map('{0[1]}{0[0]}'.format) 
    s
       A0  A1  A2  B0  B1  B2
    0   1   2   3  11  12  13
    

    【讨论】:

      【解决方案2】:

      一个选项,pivot_wider:

      # pip install pyjanitor
      import janitor
      import pandas as pd
      
      df.index = [0] * len(df)
      df = df.assign(num=range(len(df)))
      df.pivot_wider(names_from="num", names_sep = "")
      
         A0  A1  A2  B0  B1  B2
      0   1   2   3  11  12  13
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多