Пример:
Код: Выделить всё
time symbols mid_price
datetime[ns] str f64
2024-03-01 00:01:00 "PERP_SOL_USDT@… 126.1575
2024-03-01 00:01:00 "PERP_WAVES_USD… 2.71235
2024-03-01 00:01:00 "SOL_USDT@BINAN… 126.005
2024-03-01 00:01:00 "WAVES_USDT@BIN… 2.7085
2024-03-01 00:02:00 "PERP_SOL_USDT@… 126.3825
Код: Выделить всё
aggs = (
df
.group_by('symbols')
.agg([
pl.col('mid_price').diff(1).alias("change"),
])
)
Код: Выделить всё
>>> aggs.head().collect()
symbols change
str list[f64]
"SOL_USDT@BINAN… [null, 0.25, … -0.55]
"PERP_SOL_USDT@… [null, 0.225, … -0.605]
"WAVES_USDT@BIN… [null, -0.002, … -0.001]
"PERP_WAVES_USD… [null, -0.00255, … 0.0001]
Код: Выделить всё
df = df.join(
aggs,
on='symbols',
how='left',
)
Код: Выделить всё
>>> df.head().collect()
time symbols mid_price change
datetime[ns] str f64 list[f64]
2024-03-01 00:01:00 "PERP_SOL_USDT@… 126.1575 [null, 0.225, … -0.605]
2024-03-01 00:01:00 "PERP_WAVES_USD… 2.71235 [null, -0.00255, … 0.0001]
2024-03-01 00:01:00 "SOL_USDT@BINAN… 126.005 [null, 0.25, … -0.55]
2024-03-01 00:01:00 "WAVES_USDT@BIN… 2.7085 [null, -0.002, … -0.001]
2024-03-01 00:02:00 "PERP_SOL_USDT@… 126.3825 [null, 0.225, … -0.605]
- Как мне разложить/развернуть списки, возвращенные из моего group_by, при объединении их обратно в исходный фрейм данных?
- Это рекомендуемый способ добавить новый столбец в исходный фрейм данных из group_by (то есть: group_by, за которым следует присоединиться)?
Подробнее здесь: https://stackoverflow.com/questions/782 ... another-co
Мобильная версия