python - 用于大型(r)数据集的 Pandas

标签 python database sqlite pandas

我有一个相当复杂的数据库,我以 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/

相关文章:

sql - 多次使用相同参数的 format() 动态查询

c++ - 通过 QLineEdit 过滤查询并更新 QSqlQueryModel

python - 为什么 Python 的内置 sum 比手动求和慢得多?

python - 如何从 SQLAlchemy 中的 id 池中获取每组的前 n 个结果?

python - 算法:如何删除所有其他文件

iphone - 如何将表情符号和文本一起保存到 sqlite 数据库中

c - SQLite:构建 FTS5 可加载扩展时遇到问题

python - Pandas 数据框替换列的多个子字符串

c# - Insert 语句中的语法不正确

sql - 如何将两个表组合成拥有相同的列?