Полярные значения добавляют строку итогов для определенных столбцов (и нулевое значение для других), не перечисляя каждыPython

Программы на Python
Anonymous
 Полярные значения добавляют строку итогов для определенных столбцов (и нулевое значение для других), не перечисляя кажды

Сообщение Anonymous »

Скажем, у меня есть этот фрейм данных:

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

import polars as pl

df = pl.DataFrame(dict(
j=[2, 7, 1, 8],
k=[False, True, True, False],
l=['foo', 'bar', 'quux', 'bin'],
u=[5.0, 8.0, 13.0, 21.0],
))
print(df)

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

shape: (4, 4)
┌─────┬───────┬──────┬──────┐
│ j   ┆ k     ┆ l    ┆ u    │
│ --- ┆ ---   ┆ ---  ┆ ---  │
│ i64 ┆ bool  ┆ str  ┆ f64  │
╞═════╪═══════╪══════╪══════╡
│ 2   ┆ false ┆ foo  ┆ 5.0  │
│ 7   ┆ true  ┆ bar  ┆ 8.0  │
│ 1   ┆ true  ┆ quux ┆ 13.0 │
│ 8   ┆ false ┆ bin  ┆ 21.0 │
└─────┴───────┴──────┴──────┘
Я могу суммировать строки только для определенных столбцов и установить для других значение «Нет»:

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

df_sum = (df
.select(
pl.col('j').sum(),
pl.lit(None).alias('k'),
pl.lit(None).alias('l'),
pl.col('u').sum(),
)
)
print(df_sum)

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

shape: (1, 4)
┌─────┬──────┬──────┬──────┐
│ j   ┆ k    ┆ l    ┆ u    │
│ --- ┆ ---  ┆ ---  ┆ ---  │
│ i64 ┆ null ┆ null ┆ f64  │
╞═════╪══════╪══════╪══════╡
│ 18  ┆ null ┆ null ┆ 47.0 │
└─────┴──────┴──────┴──────┘
Я хотел бы сохранить порядок столбцов, чтобы затем можно было соединить в Polars.concat два кадра и получить один кадр данных со строкой итогов.

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

shape: (5, 4)
┌─────┬───────┬──────┬──────┐
│ j   ┆ k     ┆ l    ┆ u    │
│ --- ┆ ---   ┆ ---  ┆ ---  │
│ i64 ┆ bool  ┆ str  ┆ f64  │
╞═════╪═══════╪══════╪══════╡
│ 2   ┆ false ┆ foo  ┆ 5.0  │
│ 7   ┆ true  ┆ bar  ┆ 8.0  │
│ 1   ┆ true  ┆ quux ┆ 13.0 │
│ 8   ┆ false ┆ bin  ┆ 21.0 │
│ 18  ┆ null  ┆ null ┆ 47.0 │
└─────┴───────┴──────┴──────┘
Существует два возможных варианта использования, которые определяют, что означает «определенный столбец»:
  • Столбцы с определенными типами
  • Столбцы с определенными именами
Есть ли способ сделать это без перечисления каждого столбца отдельно?>

Подробнее здесь: https://stackoverflow.com/questions/783 ... hout-listi

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