gpt4 book ai didi

python - 大型 csv 文件的转置

转载 作者:太空宇宙 更新时间:2023-11-03 12:02:51 26 4
gpt4 key购买 nike

我有一个大约 15GB 的大型 CSV 文件,其中包含 180 万列和 5K 行。我需要对文件进行转置,或者是否有一种有效的方法可以逐列读取文件。在 python 2.7、bash 或 Matlab 中寻找节省时间和内存的解决方案。

CSV structure:

column names increment from f0,f1 to f1800000
each row has 1.8 million enteries with value of either 0 or 1.


---------------------------------------
f0,f1,f2 ......... ,f1800000
---------------------------------------

0,0,1 ......... ,0
1,0,1 ......... ,1

.........
---------------------------------------

最佳答案

这是一种有效的方法,使用 pandas,通过小批量处理行:

import pandas as pd
NCOLS = 1.8e6 # The exact number of columns

batch_size = 50
from_file = 'my_large_file.csv'
to_file = 'my_large_file_transposed.csv'
for batch in range(NCOLS//batch_size + bool(NCOLS%batch_size)):
lcol = batch * batch_size
rcol = min(NCOLS, lcol+batch_size)
data = pd.read_csv(from_file, usecols=range(lcol, rcol))
with open(to_file, 'a') as _f:
data.T.to_csv(_f, header=False)

关于python - 大型 csv 文件的转置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43238203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com