Подключение к базе данных ibis pandas

Как мы можем работать с фреймами данных ibis и pandas?

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

Выдает ошибку:

module 'ibis' has no attribute 'pandas'

Мы ценим любые предложения

2 ответа

Решение

ibis - это инструмент для подключения вашего Python к удаленным базам данных.

результат будет сохранен в пандах

поэтому вам нужно использовать, как показано ниже

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

Чтобы узнать больше об ibis, перейдите по этой ссылке:https://ibis-project.org/docs/tutorial/01-Introduction-to-Ibis.html#Getting-started

Образец

Проблема в том, что вам не хватает зависимостей, возможно, самой панды. Пытаться 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 (в зависимости от версии, которую вы используете) должны дать вам более информативную ошибку в том, в чем проблема.

Другие вопросы по тегам