我有一个相当复杂的数据库,我以 CSV 格式向我的客户提供该数据库。到达该数据库的逻辑是 Python 处理和在 sqlite3 中完成的 SQL 连接的复杂组合。
有大约 15 个源数据集,范围从几百条记录到几百万条(但相当短)记录。
为了清晰、可维护性和其他几个原因,我不想混合使用 Python/sqlite3 逻辑,我更愿意将所有逻辑移动到一组高效的 Python 脚本中,并完全绕过 sqlite3。
我知道答案和要走的路是 Pandas,但是您能告诉我这对于像上面描述的相当大的数据库来说是否是正确的轨道吗?
最佳答案
我一直在使用数据集大于 20 GB 的 Pandas(在配备 8 GB RAM 的 Mac 上)。
我的主要问题是知道 bug in Python这使得在 OSX 上无法写入大于 2 GB 的文件。但是,使用 HDF5 可以避免这种情况。
我在 this 中找到了提示和 this文章足以使一切运行没有问题。主要类(class)是检查数据框的内存使用情况,并将列的类型转换为尽可能小的数据类型。
关于python - 用于大型(r)数据集的 Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32139557/