通过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进程间通信之共享内存详解

前一篇博客说了怎样通过命名管道实现进程间通信,但是要在windows是使用命名管道,需要使用python调研windows api,太麻烦,于是想到是不是可以通过共享内存的方式来实现。查...

利用python获取Ping结果示例代码

前言 本文主要跟大家分享了关于利用python获取Ping结果的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧。 示例代码: # -*- coding: ut...

Django中的“惰性翻译”方法的相关使用

使用 django.utils.translation.gettext_lazy() 函数,使得其中的值只有在访问时才会被翻译,而不是在 gettext_lazy() 被调用时翻译。 例...

Django通过dwebsocket实现websocket的例子

与django推荐的channel不同,dwebsocket使用更加方便简单 使用方法1: 只需views.py文件中,将对应的视图函数添加装饰器 accept_websocket-...

详解 Python中LEGB和闭包及装饰器

详解 Python中LEGB和闭包及装饰器 LEGB L>E>G?B L:local函数内部作用域 E:enclosing函数内部与内嵌函数之间 G:g...