我们如何使用 ibis 和 pandas 数据框?
conn = ibis.pandas.connect({'data': dataframe})
projection = conn.table('data')
它抛出错误:
module 'ibis' has no attribute 'pandas'
任何建议,将不胜感激
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
问题是您缺少依赖项,可能是 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.pandas
或import ibis.pandas
(取决于您使用的版本)应该会给您一个更具描述性的错误,说明问题是什么。