栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas读取亿级数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas读取亿级数据

思想是分块读取,通过read_csv或read_table的两种方式(两个参数:chunksize和iterator)。

1. 指定chunksize

只要指定了这个参数,那么得到的结果就不是一个DataFrame对象,而是一个TextFileReader,它是一个生成器对象

import pandas as pd
data_iterator = pd.read_csv('data_20220701.csv', chunksize=1000)
for data_chunk in data_iterator:
    print(data_chunk)

上面的程序中指定的chunksize=1000表示1次读取1000行,那么第二次读的时候就是从1001行开始读取。

2. 指定iterator=True,并与get_chunk配合使用

iterator=True同样返回的是TextFileReader对象

import pandas as pd

f = open('./data/ows-raw.txt',encoding='utf-8')
reader = pd.read_csv(f, sep=',', iterator=True, error_bad_lines=False) #跳过报错行
loop = True
chunkSize = 1000
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)

参考文献:

pandas读取大量数据的分块处理 - -零 - 博客园

pandas分批读取大数据集_htbeker的博客-CSDN博客_pandas读取大量数据

​​​​​​pandas分批读取大数据集教程 - 腾讯云开发者社区-腾讯云

pandas读取大文件筛选数据 - 知乎

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002452.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号