欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

通过Pandas读取大文件的实例

程序员文章站 2022-06-06 09:34:45
当数据文件过大时,由于计算机内存有限,需要对大文件进行分块读取: import pandas as pd f = open('e:/学习相关/python/数据...

当数据文件过大时,由于计算机内存有限,需要对大文件进行分块读取:

import pandas as pd
f = open('e:/学习相关/python/数据样例/用户侧数据/test数据.csv')
reader = pd.read_csv(f, sep=',', 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.")
df = pd.concat(chunks, ignore_index=true)
print(df)

read_csv()函数的iterator参数等于true时,表示返回一个textparser以便逐块读取文件;

chunksize表示文件块的大小,用于迭代;

textparser类的get_chunk方法用于读取任意大小的文件块;

stopiteration的异常表示在循环对象穷尽所有元素时报错;

concat()函数用于将数据做轴向连接:

pd.concat(objs, axis=0, join='outer', join_axes=none, ignore_index=false, keys=none, levels=none, names=none, verify_integrity=false)

常用参数:

objs:series,dataframe或者是panel构成的序列list;

axis:需要合并连接的轴,0是行,1是列;

join:连接的参数,inner或outer;

ignore=true表示重建索引。

以上这篇通过pandas读取大文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。