首页 > 解决方案 > 将 Pandas DataFrame 重塑为以索引为前缀的列的系列

问题描述

假设我有一个像这样的 Pandas DataFrame:

      A    B
idx1  1    3
idx2  2    4

是否有一个 pandas 函数可以将这个表转换成这样的东西?

A_idx1  A_idx2 B_idx1 B_idx
1       2      3      4

标签: python-3.xpandasdataframe

解决方案


使用DataFrame.unstack,转换为 DataFrame 并转置,最后加入MultiIndex列:

df1 = df.unstack().to_frame().T
df1.columns = df1.columns.map('_'.join)
print (df1)
   A_idx1  A_idx2  B_idx1  B_idx2
0       1       2       3       4

推荐阅读