我有一个这样的一维数据框设置:
[A1,B1,C1,A2,B2,C2,A3,B3,C3,A4,B4,C4,A5,B5,C5,A6,B6,C6]
在我的程序中,A1,...,C6 将从 csv 中读取数字。 我想将它 reshape 成这样的二维数据框:
[A1,B1,C1]
[A2,B2,C2]
[A3,B3,C3]
[A4,B4,C4]
[A5,B5,C5]
[A6,B6,C6]
我可以使用循环进行此操作,但它会大大降低程序速度,因为我会多次进行此转换。以这种方式 reshape 数据的最佳命令是什么?我查看了一堆 reshape 数据框问题,但找不到任何特定于此的问题。提前致谢。
最佳答案
设置
s = "A1,B1,C1,A2,B2,C2,A3,B3,C3,A4,B4,C4,A5,B5,C5,A6,B6,C6".split(',')
使用 Numpy
pd.DataFrame(np.array(s).reshape(-1, 3))
0 1 2
0 A1 B1 C1
1 A2 B2 C2
2 A3 B3 C3
3 A4 B4 C4
4 A5 B5 C5
5 A6 B6 C6
迭代器恶作剧
pd.DataFrame([*zip(*[iter(s)]*3)])
0 1 2
0 A1 B1 C1
1 A2 B2 C2
2 A3 B3 C3
3 A4 B4 C4
4 A5 B5 C5
5 A6 B6 C6
关于python - reshape Pandas Dataframe 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52672803/