python - reshape Pandas Dataframe 的最佳方式

标签 python pandas dataframe

我有一个这样的一维数据框设置:

[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/

相关文章:

python - 将 bool 检查与 & 结合起来不会 "short-circuts"吗?

r - 获取R数据框中包含特定字符的每行的列号

python - 在划分两列的同时绘制三组的多个条形图

python - 为什么 os.path.getsize() 对于 10gb 的文件返回负数?

python - 如何实现 glob.glob

python - 读取大型二进制文件(超过 500 MB)的最快方法?

python - 将 NumPy 对象与 "None"进行比较时出现 FutureWarning

python - 基于相互连接的 Pandas 获取满足条件的值对

Pandas 石斑鱼按频率分类

python - Pandas 切 : how to convert categorical labels to strings (otherwise cannot export to Excel)?