gpt4 book ai didi

python - pandas 比 ETL 的 csv 模块更高效吗

转载 作者:太空宇宙 更新时间:2023-11-03 21:40:42 26 4
gpt4 key购买 nike

我编写了一些 python 脚本,将包含数十万行的 csv 文件加载到数据库中。它工作得很好,但我想知道使用 csv 模块将 csv 提取为列表列表是否比创建 pandas 数据框更节省内存?

最佳答案

Pandas DataFrame 的内存效率肯定比常规 Python 列表更高。

你应该使用 Pandas。

观看 Jeffrey Tratner Pandas Under The Hood 演讲中的幻灯片

我只是比较使用 pandas 和列表方法之间的几个关键点:

  • DataFrame 具有灵活的接口(interface)。如果您选择简单的 Python 列表方法,您将需要自己创建必要的函数。
  • pandas 中的许多数字运算例程都是用 C 语言或使用专门的数字库 (Numpy) 实现的,它们总是比您在列表中编写的代码更快
  • 决定使用列表还意味着,对于大型数据列表,内存布局将会降低性能,而 Dataframe 则将数据分割成相同类型的 block
  • Pandas Dataframe 的索引可帮助您根据您选择的条件轻松查找/合并/拆分数据。索引是用 C 语言实现的,并且专门针对每种数据类型。
  • Pandas 可以轻松地以不同格式读取/写入数据

还有更多我可能不知道的优点。关键点是:不要重新发明轮子,如果有合适的工具就使用它们

关于python - pandas 比 ETL 的 csv 模块更高效吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52883582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com