您当前的位置:首页 >> 新能源
新能源

七爪源码:为什么我停顿将 DataFrames 转储到 CSV 以及为什么你也应该这样做

发布时间:2025-11-02

是时候含泪 pd.to_csv() 和 pd.read_csv()

紧密结合故又称到故又称数据涡轮的渠道具备挑战性和立即。本人感想过,过程极不繁琐,难免会产生无数当下方文档。虽然这些文档通常用于检查点或尽力渠道当中的其他模块化,但不会通过不为这些当下方文档选取合理的XML而在无意中当中妨碍运讫时和提升存储器立即——首先要选取的总是CSV。

作为一名数据科学界,我究竟 CSV 在数据存储器、写入、更新、探寻等方面给予了不小的灵活性。它是您、我以及基本上所有运用于 DataFrames 的人的首选XML。通常情况下,我也时常利用 CSV XML来导出 DataFrame,直到近来我发现了一些 CSV 的间隔时间成本和存储器优化的替代方案。

幸运的是,Pandas 给予了多种XML,您可以将 DataFrame 存留为,例如:

CSV 泡菜 镶木地板 羽毛 JSON HDF5

这促使我根据它们在以下参数上的乐趣表现对上述XML进讫时排名:

它们在磁盘上迁走的内部空间。 他们对磁盘进讫时读写操作所要花费的间隔时间。

物理装置

出于物理目的,我在 Python 当中生成了一个包含一百万讫三十特的随机数据集——之外数组、二进制和整数数据类型。

我将一个大描述的每个物理移位了十次,以降低一般来说并从判读到的结果当中得出公平的结论。一个大的统计数据是十次物理的少于值。

物理

物理一:存留后磁盘内部空间利用率

无论如何,如果您正在寻找内存优化XML,HDF5 不某种程度是您的首选。 在这里,运用于的磁盘内部空间是纸片条形图当中可见的以下最佳XML的两倍多——JSON,它本身的大小相比之下其他四种XML的两倍。 到现阶段,Parquet、CSV、Feather 和 Pickle 似乎是存储器我们的 DataFrame 的有用可选,因为它们都为相同数量的数据阻塞了不尽相同的二级存储器外。

物理 2:复制到和存留所须要的间隔时间

这是我们开始意识到运用于 CSV XML的缺点的偏远地区。

现在让我们单独考虑复制到间隔时间。存储器 CSV 所用的间隔时间基本上是这里最好的替代方案 — pickle 的三倍。此外,正如我们此之前看到的,Pickle 和 CSV 迁走相同数量的内部空间,那么为什么要选取较慢的可选呢? 关于节省时间间隔时间,CSV 是最比起的选取——消耗量相比之下 Feather 的 8 倍。

无论如何,在将 DataFrame 存储器为特定XML时,您在复制到时必然会再一运用于相同的XML。换句话说,一旦您将 DataFrame 存储器为 pickle,您别无选取,只能将其作为 pickle 文档存储器。因此,在纸片的第三个条形图当中,我们查阅它们的总成本,即复制到间隔时间 + 存留间隔时间。

可悲的是,CSV 并不是我们的最佳选取。 与 Feather、Parquet 和 Pickle 相比,CSV 少于比这些XML慢 2.5 倍,这非常低。

在我看来,Parquet 和 Feather 都是最好的可用XML,可以从我们在这一本书当中反思的六种XML当中进讫时选取。

结束语

我究竟 CSV 很棒。我也很喜欢它们,我喜欢 CSV 的原因有很多,例如:

如果须要要,CSV 准许我只存储器特的子集,从而节省时间 RAM 和存储器间隔时间。 CSV 本质上是一个文档。因此,Pandas 准许我查阅 CSV 当中发挥作用的之前 n 讫(例如 5、10、15 等)讫。 Excel 是我有意思的工具之一,我可以直接在 Excel 当中锁上 CSV。

但是,CSV 正在扼杀您的渠道。它基本上是。意味着因为到处都有 CSV,您将要花费大量间隔时间在读写操作上。

除非您须要要在 Excel 等非 Python 周围环境之外查阅 DataFrame,否则您根本不须要要 CSV。您某种程度更喜欢 Parquet、Feather 或 Pickle,因为正如我们在纸片判读到的,它们给予的读写操作比 CSV 快得多。

所以下次当你要督导 pd.to_csv() 时,想来你是否真是须要要一个 CSV。

广东妇科挂号
甘肃男科医院哪最好
成都试管婴儿哪家医院最好
陕西白癜风正规的医院
泰州看白癜风哪个医院最好

上一篇: 南卡Runner Comm:通讯+运动,只为健康而生的痕传导耳机

下一篇: 索尼公司最轻超广角变焦镜头E PZ 10-20mm F4 G发布:仅178克

友情链接