最近在处理一个超大的CSV文件,感觉Python的pandas库速度慢得让人抓狂。有没有大神分享一下在处理这类海量数据时的实战经验或者优化技巧?是时候升级到Dask还是NumPy数组,还是有更好的解决方案?期待高手指点迷津。

277次浏览 2人投票 1人点赞
4 条回复 最后更新在2024-07-17 23:09

试试用Dask,分布式计算能很好地应对大数据,尤其是dask.dataframe模块,性能提升不是一点点。

如果你的数据主要是表个结构,可以考虑分块读取
比如pandas.read_csv(chunksize=)
这样内存负担会小很多

调整nrows参数,一次性加载太多数据确实慢,少量多次处理试试

如果数据清洗不复杂,可以考虑用feather或parquet格式存储,读写速度比CSV快。

欢迎来到虚拟咖啡社区,这是一个专为程序员和技术爱好者设计的多元化在线社区。在这里,我们致力于打造一个充满活力和支持性的环境,让每一位成员都能在这里找到归属感和成就感
uiuxguru
uiuxguru 的推介