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

How to stack pandas data frame rows into two halves?

我正在处理一个有 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变成了下两个。

请建议我实现所需的新 df。 提前致谢。

您可以 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