pandas分批读取CSV并分批处理数据

简介: pandas分批读取CSV并分批处理数据

pandas分批读取CSV并分批处理数据


算法工程师要面对的一大主要矛盾:不够用的服务器内存和巨大的训练集数据量之间的矛盾。

如果使用pandas处理CSV数据,会先把整个CSV加载到内存之后再处理,所以如果你的CSV文件巨大(其实也不一定非常大,我的数据集只有4、50个G,可惜当时服务器内存只有60多个G了),就要想其他方法了。

我之前都是把CSV文件手动切分成10个小文件,再逐个处理。

现在觉着这方法太傻了啊。

其实pandas 读取CSV文件的函数 read_csv() 中自带两个参数就可以解决:

nrows=
skiprows=

其中前者控制本次读取多少行,后者用于控制跳过多少行然后从其下一行开始读。

这样每次就只读取 nrows 行数据加载到内存,先处理这部分数据,处理完之后再去加载下一批。

备注:

如果最后一个分组不够 nrows 的参数值也不会报错,会把剩余部分当做一个分组。比如CSV文件中有5行数据,每次读两行数据,即 nrows=2,最后只剩下一行,就把这一行当做一组。

以上,问题解决~

相关文章
|
18天前
|
Python
|
18天前
|
Python
|
17天前
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
31 1
|
18天前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
8 1
|
19天前
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
14 2
|
19天前
|
SQL JSON 数据库
Pandas 常用函数-读取数据
Pandas 常用函数-读取数据
13 2
|
22天前
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,"死叉"指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而"金叉"则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
39 2
|
17天前
|
Python
Pandas 常用函数-数据选择和过滤
Pandas 常用函数-数据选择和过滤
10 0
|
1月前
|
数据可视化 数据挖掘 数据处理
模型预测笔记(四):pandas_profiling生成数据报告
本文介绍了pandas_profiling库,它是一个Python工具,用于自动生成包含多种统计指标和可视化的详细HTML数据报告,支持大型数据集并允许自定义配置。安装命令为`pip install pandas_profiling`,使用示例代码`pfr = pandas_profiling.ProfileReport(data_train); pfr.to_file("./example.html")`。
48 1
|
2月前
|
索引 Python
使用 pandas 对数据进行移动计算
使用 pandas 对数据进行移动计算
23 0