Условная сумма по столбцам в PolarsPython

Программы на Python
Ответить
Anonymous
 Условная сумма по столбцам в Polars

Сообщение Anonymous »

Я понимаю, как выполнить условную сумму в столбцах, но мне интересно, как добиться аналогичного подхода и получить в итоге фрейм данных

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

import polars as pl

df = pl.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'C'],
'conference': ['East', 'East', 'East', 'West', 'West', 'East'],
'points': [11, 8, 10, 6, 6, 5],
'rebounds': [7, 7, 6, 9, 12, 8]})

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

┌──────┬────────────┬────────┬──────────┐
│ team ┆ conference ┆ points ┆ rebounds │
│ ---  ┆ ---        ┆ ---    ┆ ---      │
│ str  ┆ str        ┆ i64    ┆ i64      │
╞══════╪════════════╪════════╪══════════╡
│ A    ┆ East       ┆ 11     ┆ 7        │
│ A    ┆ East       ┆ 8      ┆ 7        │
│ A    ┆ East       ┆ 10     ┆ 6        │
│ B    ┆ West       ┆ 6      ┆ 9        │
│ B    ┆ West       ┆ 6      ┆ 12       │
│ C    ┆ East       ┆ 5      ┆ 8        │
└──────┴────────────┴────────┴──────────┘
В Pandas я мог бы использовать .loc или .query

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

df_pd = df.to_pandas()

df_pd.loc[(df_pd['points'] >= 8) & (df_pd['team'] != 'B'), 'rebounds'].sum()
df_pd.query("points >= 8 and team != 'B'")['rebounds'].sum()

# 20
Как я могу добиться того же результата с помощью выражений Polars?


Подробнее здесь: https://stackoverflow.com/questions/740 ... -in-polars
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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