如何将 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
我正在处理一个有 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