百科问答小站 logo
百科问答小站 font logo



Python/Pandas如何处理百亿行,数十列的数据? 第1页

  

user avatar   mo-cun-34-45 网友的相关建议: 
      

Pandas并不是什么场景都适用啊,应该灵活变化!可以参考H2O.ai维护的一个项目,告诉您,除了pandas,还有很多武器可以玩

待评估软件

项目目前已收录Python/R/Julia中13种的工具 ,随着工具版本迭代、新工具的出现,该项目也在持续更新,其它工具如AWK、Vaex、disk也在陆续加入到项目中。

       7种Python工具   dask  pandas  datatable  cuDF  Polars  Arrow  Modin  2种R工具  data.table  dplyr  1种Julia工具  DataFrames.jl  3种其它工具  spark  ClickHouse  duckdb       

评估方法

分别测试以上工具在在0.5GB、5GB、50GB数据量下执行groupby、join的效率,

数据量

  • 0.5GB 数据 10,000,000,000行、9列
  • 5GB 数据 100,000,000,000行、9列
  • 50GB 数据1,000,000,000,000行、9列

groupby性能

比较以下各种需求的效率,

详细代码,见每个柱子图上方,


join性能

比较以下各种需求的效率,

详细代码,见每个柱子图上方,


评估结果

groupby

可以看到Python中的Polars、R中的data.table、Julia中的DataFrame.jl等在groupby时是一个不错的选择,性能超越常用的pandas,详细 ,

join

同样可以看到Python中的Polars、R中的data.table在join时表现不俗,详细 ,

小结

R中的data.table、Python中的Polars、Julia中的DataFrame.jl表现连续出色,后续可以用起来,常用的pandas并无亮点~

参考资料


更多好文❤️❤️@pythonic生物人




  

相关话题

  作为一个K-V数据库,levelDB索引为什么要使用LSM树实现,而不采用哈希索引? 
  为什么会有程序员不喜欢 Python? 
  为什么 Python 工程师很少像 Java 工程师那样讨论垃圾回收? 
  《要素市场化配置综合改革试点总体方案》印发,其中有哪些需要关注的内容? 
  Python/Pandas如何处理百亿行,数十列的数据? 
  你是如何自学 Python 的? 
  如何成为数据科学家? 
  如何使用 python 写一个简单的表达式解释器? 
  需要用到 Linux/Unix,是买 MacBook Pro还是 Windows 装Linux vm? 
  需要用到 Linux/Unix,是买 MacBook Pro还是 Windows 装Linux vm? 

前一个讨论
如何评价微软研究院开发的AI量化投资平台Qlib?
下一个讨论
为什么 React 源码不用 TypeScript 来写?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利