Код: Выделить всё
df = df.groupby('some_column').resample('Q').agg({"total": "count"})
Код: Выделить всё
df = df.group_by_dynamic('date', every='3mo', group_by='some_column', include_boundaries=True).agg(pl.len())
Очевидно, я мог бы просто запустить selecte после установки include_boundaries=True, но на самом деле я хочу установить для него значение false, потому что в документации говорится, что это повлияет на производительность, если установлено значение true.
Каждый ='3mo' равен pandas resample('Q')?
Примеры:
Код: Выделить всё
df = pd.DataFrame({'date': pd.date_range("2018-01-01", periods=365*24, freq='H')})
# Create second column 'pokemon_type':
df['pokemon_type'] = 'fire'
df.loc[400:, 'pokemon_type'] = 'water'
date pokemon_type
0 2018-01-01 00:00:00 fire
1 2018-01-01 01:00:00 fire
2 2018-01-01 02:00:00 fire
3 2018-01-01 03:00:00 fire
4 2018-01-01 04:00:00 fire
... ...
8755 2018-12-31 19:00:00 water
8756 2018-12-31 20:00:00 water
8757 2018-12-31 21:00:00 water
8758 2018-12-31 22:00:00 water
8759 2018-12-31 23:00:00 water
[8760 rows x 2 columns]
Now groupby:
df['total'] = 0
df = df.set_index('date')
df = df.groupby('pokemon_type').resample('Q').agg({'total':'count'})
df
pokemon_type date
fire 2018-03-31 400
water 2018-03-31 1760
2018-06-30 2184
2018-09-30 2208
2018-12-31 2208
df.index
MultiIndex([( 'fire', '2018-03-31'),
('water', '2018-03-31'),
('water', '2018-06-30'),
('water', '2018-09-30'),
('water', '2018-12-31')],
names=['pokemon_type', 'date'])
К сожалению, я не знаю, как разрезать столбец и присваивать подзначения. Пытался разобраться, но все еще над этим.
Полары df будут выглядеть так
Код: Выделить всё
┌──────────────┬─────────────────────┬─────────────────────┬────────────┬───────┐
│ pokemon_type ┆ _lower_boundary ┆ _upper_boundary ┆ date ┆ count │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ datetime[μs] ┆ datetime[μs] ┆ date ┆ i64 │
╞══════════════╪═════════════════════╪═════════════════════╪════════════╪═══════╡
│ fire ┆ 1994-01-01 00:00:00 ┆ 1994-04-01 00:00:00 ┆ 1994-01-01 ┆ 58 │
│ water ┆ 1994-01-01 00:00:00 ┆ 1994-04-01 00:00:00 ┆ 1994-01-01 ┆ 38 │
└──────────────┴─────────────────────┴─────────────────────┴────────────┴───────┘
Подробнее здесь: https://stackoverflow.com/questions/727 ... alcount-in
Мобильная версия