0

我们如何使用 ibis 和 pandas 数据框?

conn = ibis.pandas.connect({'data': dataframe}) 
projection = conn.table('data')

它抛出错误:

module 'ibis' has no attribute 'pandas'

任何建议,将不胜感激

4

2 回答 2

0

ibis是一个从 python 到远程数据库的连接工具。

结果将存储在熊猫中

所以你需要像下面这样使用

conn = ibis.sqlite.connect('data': 'data.db')
data = conn.table('table')

要了解有关宜必思的更多信息,请参阅此链接: https ://ibis-project.org/docs/tutorial/01-Introduction-to-Ibis.html#Getting-started

样本 在此处输入图像描述

于 2020-10-14T10:17:21.923 回答
0

问题是您缺少依赖项,可能是 pandas 本身。试试看import pandas

Ibis 能够连接到多个后端。目前,指定使用哪个引擎的方法是通过con = ibis.<engine>.connect(...). 因此,在您的情况下,您正确定义了要使用 pandas 引擎进行连接。问题是 Ibis 支持 15 个后端,我们不需要所有它们的依赖关系。因此,当您这样做时import ibis,我们会尝试将所有后端加载为ibis.sqlite, ibis.pandas, ibis.postgres... 如果缺少依赖项,我们只是默默地停止加载后端。

这不是很好,因为您得到的错误不是很有帮助,正如您已经发现的那样。将来我们计划将语法更改为ibis.connect('sqlite://my_database.db'). 一旦我们这样做了,如果有什么不正确(而不是无用的),我们将能够引发缺少依赖项的异常AttributeError

我们应该在几周内发布 Ibis 2.0。同时,运行import ibis.backends.pandasimport ibis.pandas(取决于您使用的版本)应该会给您一个更具描述性的错误,说明问题是什么。

于 2021-06-23T18:15:44.913 回答