Объедините фрейм данных Polars со смещенной версией в один df, используя структуруPython

Программы на Python
Ответить
Anonymous
 Объедините фрейм данных Polars со смещенной версией в один df, используя структуру

Сообщение Anonymous »

У меня есть фрейм данных с историей цен на акции компаний по дате.

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

df = pl.from_repr("""
┌──────┬─────┬───────┬──────────┐
│ date ┆ ibm ┆ apple ┆ coinbase │
│ ---  ┆ --- ┆ ---   ┆ ---      │
│ i64  ┆ i64 ┆ i64   ┆ i64      │
╞══════╪═════╪═══════╪══════════╡
│ 1    ┆ 50  ┆ 100   ┆ 40       │
│ 2    ┆ 48  ┆ 200   ┆ 60       │
│ 3    ┆ 49  ┆ 400   ┆ 10       │
│ 4    ┆ 27  ┆ 800   ┆ 300      │
│ 5    ┆ 11  ┆ 1600  ┆ 7000     │
└──────┴─────┴───────┴──────────┘
""")
И еще один, где цены смещены на 2 единицы даты.

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

df_2 = df.shift(-2)

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

shape: (5, 4)
┌──────┬──────┬───────┬──────────┐
│ date ┆ ibm  ┆ apple ┆ coinbase │
│ ---  ┆ ---  ┆ ---   ┆ ---      │
│ i64  ┆ i64  ┆ i64   ┆ i64      │
╞══════╪══════╪═══════╪══════════╡
│ 3    ┆ 49   ┆ 400   ┆ 10       │
│ 4    ┆ 27   ┆ 800   ┆ 300      │
│ 5    ┆ 11   ┆ 1600  ┆ 7000     │
│ null ┆ null ┆ null  ┆ null     │
│ null ┆ null ┆ null  ┆ null     │
└──────┴──────┴───────┴──────────┘
Я хочу объединить две серии IBM в структуры в одном столбце IBM с полем для цены @ даты и цены сдвига (-2). Аналогично для Apple и т. д.
Как это сделать? Будет ли это эффективно?
Не знаю, с чего начать, так как кажется, что результирующий столбец IBM будет состоять не из двух серий, а из одной серии пар (исходных, смещенных) цен

Подробнее здесь: https://stackoverflow.com/questions/767 ... ing-struct
Ответить

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

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

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

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

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