这是我第一次涉足数据科学,甚至在进行分析之前就遇到了障碍。
我有 40 个 CSV 文件;每个包含 2 列 - 一个时间和值列。
我想通过对所有文件的时间列进行外部连接将其合并到一个表中,以便最终文件包含 1 个时间列和 40 个值列。我尝试使用 pandas 合并方法进行此操作,但我的本地计算机在完成之前内存不足。通过简单地组合 40 个文件中的 8 个文件,我确保代码没有根本性的错误,并得到了预期的结果。
那时我决定在 AWS 上启动一个更强大的云计算实例;我选择了一个内存高得离谱的内存,所以我使用的是 190 GB 而不是 8 GB。它走得更远,但在第 30 个文件附近出现了相同的内存错误。我还应该提到每个文件都有很多行 - 大约 180K。
在那一点上,我决定我必须以错误的方式解决这个问题。我不认为 pandas 是用来组合如此大的数据集的工具。在我的上一份工作中,我非常广泛地使用了 SQL,而且类似的东西似乎更有装备。我的下一个想法是尝试在 AWS Athena 中进行,这是一种类似 SQL 的服务,可以与 S3 中的 csv 文件集成。我认为这个问题没有标准的解决方案,但我只是想看看我是否偏离了基础或朝着正确的方向前进。
谢谢!!