Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 重塑数据帧行的形状_Python_Arrays_Pandas_Dataframe - Fatal编程技术网

Python 重塑数据帧行的形状

Python 重塑数据帧行的形状,python,arrays,pandas,dataframe,Python,Arrays,Pandas,Dataframe,我有一个来自pandas的excel数据集,如下所示: 行:123567,列ABCDEF A B C D E F 1 0 5 7 1 8 6 2 2 3 2 4 1 5 3 3 1 1 2 3 4 5 3 5 5 7 9 4 6 4 5 4 6 7 7 7 6 8 3 3 1 2 但我想做一个数据如下: 3排是一排 1 0 5 7 1 8 6 2 3 2 4 1 5 3 1 1 2 3 4 2 3 5 5 7

我有一个来自pandas的excel数据集,如下所示: 行:123567,列ABCDEF

      A B C D E  F
1   0  5  7 1  8 6
2   2  3  2 4  1 5
3   3  1  1  2 3 4
5   3 5  5  7 9  4
6  4  5  4  6  7 7
7  6  8  3  3  1 2
但我想做一个数据如下: 3排是一排

1   0 5 7 1 8 6  2 3 2 4 1 5 3 1 1 2 3 4
2   3 5 5 7 9 4 4 5 4 6 7 7 6 8 3 3 1 2

最快、可能也是最简单的方法是只需对以下值调用
重塑

df.values.reshape(-1, df.shape[1] * 3)

array([[0, 5, 7, 1, 8, 6, 2, 3, 2, 4, 1, 5, 3, 1, 1, 2, 3, 4],
       [3, 5, 5, 7, 9, 4, 4, 5, 4, 6, 7, 7, 6, 8, 3, 3, 1, 2]])
但是,如果您的数据没有执行重塑所需的确切行数,则会出错


您还可以使用
groupby
+
apply

df.groupby(np.arange(len(df)) // 3 * 3).apply(lambda x: x.values.ravel())

即使第一个选项不起作用,这也应该起作用。

谢谢您的帮助。我又有一个问题。你能帮助我如何像以前一样使用数据吗?但结果是通过使用excel writer中的循环存储在excel中的?@wennypuspita当然。你能提出一个新问题吗?这似乎与此无关,因此如果答案有帮助,请勾选我答案旁边的灰色复选框,并将其切换为绿色,以标记它已被接受,然后打开一个新问题。谢谢。