如何将pandas数据帧行堆叠成两半?

时间:2017-03-09 05:08:29

标签: python pandas dataframe stack data-science

我正在处理一个包含6列的数据框,下面是示例df

     a   b   c   d   e   f
     1   2   3   4   5   6
     7   8   9   10  11  12

以下是我期望的新数据框架:

     col1   col2   col3
     1      2      3
     4      5      6
     7      8      9
     10     11     12

注意行元素的顺序,原始df的第一行,成为新df的前两行,原始df的第二行成为下一行2。

请建议我达到所需的新df。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以reshape将值(numpy数组)设置为3列,并从中构造一个新的数据框:

pd.DataFrame(df.values.reshape(-1, 3), columns=["Col"+str(i) for i in range(1,4)])

#Col1   Col2   Col3
#0  1      2      3
#1  4      5      6
#2  7      8      9
#3  10    11     12