python数据分析用什么框架_用python选择用于内存大的数据分析的框架

我正在解决一个数据集大于内存的问题。

原始数据集是一个.csv文件。

其中一列是musicbrainz服务的曲目id。在

我已经做了什么

我用dask读取.csv文件,并在磁盘上将其转换为castra格式以获得更高的性能。

我还查询了musicbrainzapi并使用peewee填充了一个sqlite数据库,并给出了一些相关的结果。我选择使用一个数据库而不是另一个数据帧因为这个过程花了几天时间,我不想在任何失败的情况下丢失数据。在

我还没有真正开始分析数据。在重新整理数据的过程中,我设法弄得一团糟。在

当前的问题

我很难将列从sqldb连接到dask/castra数据帧。实际上,我不确定这是否可行。在

替代方法

看来我在为这项任务选择最好的工具时犯了一些错误。卡斯特拉可能还不够成熟,我认为这是问题的一部分。

另外,选择SQLAlchemy来支持peewee可能更好,因为pandas和peewee都没有使用它。在

Blaze+HDF5可能是dask+castra的不错的替代品,主要是因为HDF5比castra更稳定/成熟/完整,blaze在数据存储方面没有那么固执己见。例如。

它可以简化SQL数据库与主数据集的连接。在

另一方面,我熟悉pandas和dask公开了“相同”的API。使用dask,我也获得了并行性。在

TL;DR

我有一个大于内存的数据集+sqlite数据库,我需要将其加入主数据集。

我怀疑是否要与dask+castra合作(不知道其他相关的数据存储数据帧),并使用SQLAlchemy一次将部分SQL数据库加载到pandas的数据帧中。我认为最好的选择是改用blaze+HDF5。

在这种情况下你有什么建议?在

欢迎任何其他选择/意见。

我希望这足够具体。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值