通过Pandas读取大文件的实例

yipeiwu_com5年前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读取大文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python线程中对join方法的运用的教程

join 方法:阻塞线程 , 直到该线程执行完毕 因此  ,可以对join加一个超时操作 , join([timeout]),超过设置时间,就不再阻塞线程 jion加上还有一个...

Python数据处理numpy.median的实例讲解

numpy模块下的median作用为: 计算沿指定轴的中位数 返回数组元素的中位数 其函数接口为: median(a, axis=None, out=None, overwri...

python实现隐马尔科夫模型HMM

一份完全按照李航<<统计学习方法>>介绍的HMM代码,供大家参考,具体内容如下 #coding=utf8 ''''' Created on 2017-8-...

基于Python实现文件大小输出

基于Python实现文件大小输出

在数据库中存储时,使用 Bytes 更精确,可扩展性和灵活性都很高。 输出时,需要做一些适配。 1. 注意事项与测试代码 1.需要考虑 sizeInBytes 为 None 的场景。...

Python实现的多进程拷贝文件并显示百分比功能示例

本文实例讲述了Python实现的多进程拷贝文件并显示百分比功能。分享给大家供大家参考,具体如下: centos7下查看cup核数: # 总核数 = 物理CPU个数 X 每颗物理CPU...