【发布时间】:2016-12-01 15:42:20
【问题描述】:
我正在尝试将一个巨大的数据文件分成更小的部分。我正在使用以下脚本 -
df = pd.read_csv(file_name, header=None,encoding='latin1',sep='\t',nrows=100000, skiprows = 100000)
但我看到 skip rows 参数跳过了大约 200000 行而不是 100000 任何人都可以告诉我为什么会发生这种情况
【问题讨论】:
-
为什么不直接指定一个
chunksize=100000,它会返回一个 df 切片,然后您可以为每个块拆分 df? -
实际文件为 190 GB,我无法一次将其全部读入内存
-
你不需要
chunksize这只会读取下一个块大小的行,然后你可以对那个块做任何你想做的事情 -
所以我在一个 2.3 gb 的样本文件上实现了 chunksize,有 15041273 行,我试图使用带有以下代码
tp = pd.read_csv(r'E:\Utkarsh\Test\feed_3068_20160920_20160927.dat',header=None,encoding='latin1', sep='\t', iterator=True, chunksize=100000) df = pd.concat(tp, ignore_index=True) print(df)的 chunksize 来读取它,但是 df 将整个数据加载到其中100000 行的块大小。我没有正确实施它吗? -
190 GB 文件?听起来像是 Spark/Hadoop 等大数据平台的工作,而不是 Pandas
标签: python pandas import data-files