Поляры Python – как агрегировать фреймы данныхPython

Программы на Python
Anonymous
Поляры Python – как агрегировать фреймы данных

Сообщение Anonymous »

Цель
Эффективно агрегировать возвращаемые кадры данных функции в кадре данных Polars в Python.
Среда
  • Windows 10
  • Python 3.9.18
  • Polars 0.20.18
Что я сделал до сих пор
Мне нужен эквивалент этого кода (это фиктивный код).

Код: Выделить всё

def dummy_dataframe(val):
return pl.DataFrame(
{
"x": [va1 + 1, 0, 1],
"y": [val + 2, 8, 9],
"z": [val + 3, 5, 6],
}
)

df = pl.DataFrame(
{
"a": ["a", "b", "a", "b"],
}
)

groups = df.groupby('a').agg(pl.apply(exprs=['a'], function=lambda x: dummy_dataframe(x)).alias('result'))
results = []
for row in groups.iter_rows():
group_name = row[0]
group_val = row[1]
df_ret = group_val.with_columns(pl.lit(group_name).alias('group_name'))
results.append(df_ret)
df_results = pl.concat(results)
df_results
Однако я считаю, что iter_rows() неэффективен. В этом полярном документе говорится: «Итерация строк не является оптимальной, поскольку базовые данные хранятся в столбчатой ​​форме; где это возможно». Поскольку iter_rows() не очень эффективен в Pandas, я могу предположить, что то же самое и в Polars.
Исследование
Поиск в Google "polars dataframe" в ячейке» и «кадр данных Polars agg», и проверка первых 10 страниц каждой из них не дала мне много информации.
Вывод
Как эффективно ли мне объединять возвращаемые кадры данных функции?

Подробнее здесь: https://stackoverflow.com/questions/782 ... dataframes

Вернуться в «Python»