pandas分块读取大量数据集

Posted romangao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas分块读取大量数据集相关的知识,希望对你有一定的参考价值。

两个参数:chunksize,iterator

1、chunksize

read_csv 和  read_table 有一个chunksize参数,用以指定一个块大小(每次读取多少行),返回一个可迭代的  TextFileReader 对象。

import pandas as pd
reader = pd.read_csv("pff_GEN_NUCHANGE.csv",chunksize=10000)
for df in reader :
    对df处理
    #如df.drop(columns=[‘GEN_id‘],axis=1,inplace=True)
    #print(type(df),df.shape)打印看一下信息

to_csv也同样有chunksize参数

 2、iterator=True

import pandas as pd
reader = pd.read_csv("pff_GEN_NUCHANGE.csv", iterator=True)

loop = True
chunkSize = 100000
chunks = []
while loop:
    try:
        chunk = reader.get_chunk(chunkSize)
        chunks.append(chunk)
    except StopIteration:
        loop = False
        print ("Iteration is stopped.")
pff_AA_df = pd.concat(chunks, ignore_index=True)

 

以上是关于pandas分块读取大量数据集的主要内容,如果未能解决你的问题,请参考以下文章

分块读取 Pandas 中的多个 CSV 文件

如何在 Python 数据框中分块读取数据?

从具有大量标签的 Pandas 数据框中创建 TensorFlow 数据集?

除了 pandas 和 dask 之外,还都有哪些更快的读取大数据集和应用行明智操作的方法?

pandas read_csv读取大文件的Memory error问题

Pandas处理超大规模数据