我的数据集大约有300万行,这使得使用jupyter笔记本加载数据集的速度非常慢。因此,我尝试使用“chunksize”,并粘贴了下面的代码,但根本没有打印任何内容
这是我的代码:
chunksize = 1000000
for chunk in pd.read_csv('US_Accidents_Dec19.csv', iterator=True, chunksize=chunksize):
chunk.head()
当我做出以下更改时:
chunksize = 1000000
for chunk in pd.read_csv('US_Accidents_Dec19.csv', iterator=True, chunksize=chunksize):
data=chunk
data.head()
它只打印了前5行
正如在评论中指出的,
data.head()
只请求data
中的前5行,这就产生了您观察到的行为data
本身将在每次迭代中保存1000000行,但最后一次迭代除外,在最后一次迭代中,它将保存文件的剩余部分,可能会少一点。您可以通过打印data.shape
而不是data.head()
来确认这一点此外,由于您在迭代结束时通过块执行此操作,因此最终将成为文件的2000001到2000005行。如果您真的想分块处理整个文件,则需要在循环中进行处理。如果您只想使用文件中的一个示例,那么可以使用
pd.read_csv(..., nrows=10000)
只读取前10k行相关问题 更多 >
编程相关推荐