Я исследую переход от панд к полярникам. Мне нравится то, что я вижу.
В настоящее время перенести данные в Pandas несложно.
cf = Cashflow.objects.filter(acct=acct).values()
df = pd.DataFrame(cf)
Я подумал, что это будет простое изменение, но мне оно не подойдет.
df = pl.DataFrame(cf)
В чем разница между использованием запроса Django и помещением данных в Polars?
Спасибо.
AFAIK, насколько я знаю, возвращаемое значение .values()
является итерацией диктовок. В частности, pl.from_dicts(cf)
может сработать.
Вам просто нужно проверить входные параметры 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)
Потрясающе, спасибо. я понял, что это простой способ сделать это!!! это лучший способ выполнить запрос для Polars, кроме этого и .values(), который был необходим для Pandas. С нетерпением ждем возможности протестировать Polars прямо сейчас!
что возвращает
.values
? вам, вероятно, придется изменить вывод.values
в форму, которую принимает поляра