Pandas:将行旋转到以列为列行的列

Pandas: pivoting rows to columns with columns as column-row

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

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 函数会切换列和行,但实际上我想将数据框展平为一行。我怎样才能做到这一点?

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

一个选项,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