Chunksize未提供预期输出

2024-10-02 04:18:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据集大约有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行


Tags: csv数据代码intrueforreadhead
1条回答
网友
1楼 · 发布于 2024-10-02 04:18:29

正如在评论中指出的,data.head()只请求data中的前5行,这就产生了您观察到的行为data本身将在每次迭代中保存1000000行,但最后一次迭代除外,在最后一次迭代中,它将保存文件的剩余部分,可能会少一点。您可以通过打印data.shape而不是data.head()来确认这一点

此外,由于您在迭代结束时通过块执行此操作,因此最终将成为文件的2000001到2000005行。如果您真的想分块处理整个文件,则需要在循环中进行处理。如果您只想使用文件中的一个示例,那么可以使用pd.read_csv(..., nrows=10000)只读取前10k行

相关问题 更多 >

    热门问题