Кадр данных Polars через запрос Django

Я исследую переход от панд к полярникам. Мне нравится то, что я вижу.

В настоящее время перенести данные в Pandas несложно.

cf = Cashflow.objects.filter(acct=acct).values()
df = pd.DataFrame(cf)

Я подумал, что это будет простое изменение, но мне оно не подойдет.

df = pl.DataFrame(cf)

В чем разница между использованием запроса Django и помещением данных в Polars?

Спасибо.

🤔 А знаете ли вы, что...
Python используется в разработке мобильных приложений с использованием Kivy.


2
50
1

Ответ:

Решено

Вам просто нужно проверить входные параметры Polars и тип выходных данных набора запросов Django. В Polars конструктор pl.DataFrame() ожидает список словарей или список других структур данных. Кроме того, когда вы запускаете Cashflow.objects.filter(acct=acct).values() в Django, результатом является набор запросов к словарям, где каждый словарь представляет строку данных. пример приведен ниже:

<QuerySet [{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}]>

Поэтому единственное, что вам нужно сделать, это преобразовать полученный набор запросов в список, прежде чем передавать его в Polars:

cf_list = list(Cashflow.objects.filter(account=acct).values())

df = pl.DataFrame(cf_list)