Фрейм данных поляров через запрос Django
Я изучаю возможность перехода с Pandas на Polar. Мне нравится то, что я вижу.
В настоящее время просто получить данные в Pandas.
cf = Cashflow.objects.filter(acct=acct).values()
df = pd.DataFrame(cf)
Так что я решил, что это будет простое изменение - но это не будет работать для меня.
df = pl.DataFrame(cf)
В чем разница между использованием запроса в Django и размещением данных в Polars?
Спасибо.
Вам просто нужно проверить входные параметры Polars
и выходной тип данных кверисета Django. В Polars
конструктор pl.DataFrame()
ожидает список словарей или список других структур данных. Также при выполнении Cashflow.objects.filter(acct=acct).values()
в Django результатом будет кверисет словарей, где каждый словарь представляет собой строку данных. Пример приведен ниже:
<QuerySet [{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}]>
Поэтому единственное, что вам нужно сделать, это преобразовать полученный набор queryset в список перед передачей его в Polars
:
cf_list = list(Cashflow.objects.filter(account=acct).values())
df = pl.DataFrame(cf_list)