Умножьте элементы столбца списка в кадре данных Polars с элементами обычного списка PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Умножьте элементы столбца списка в кадре данных Polars с элементами обычного списка Python

Сообщение Anonymous »

У меня есть pl.DataFrame со столбцом, содержащим такие списки:
import polars as pl

df = pl.DataFrame(
{
"symbol": ["A", "A", "B", "B"],
"roc": [[0.1, 0.2], [0.3, 0.4], [0.5, 0.6], [0.7, 0.8]],
}
)

shape: (4, 2)
┌────────┬────────────┐
│ symbol ┆ roc │
│ --- ┆ --- │
│ str ┆ list[f64] │
╞════════╪════════════╡
│ A ┆ [0.1, 0.2] │
│ A ┆ [0.3, 0.4] │
│ B ┆ [0.5, 0.6] │
│ B ┆ [0.7, 0.8] │
└────────┴────────────┘

Кроме того, у меня есть обычный вес списка Python = [0,3, 0,7]
Каков эффективный способ умножения pl.col ("roc") с весами таким образом, чтобы первый и второй элемент столбца были умножены на первый и второй элемент весов соответственно?Ожидаемый результат выглядит следующим образом:
shape: (4, 3)
┌────────┬────────────┐──────────────┐
│ symbol ┆ roc │ roc_wgt │
│ --- ┆ --- │ --- │
│ str ┆ list[f64] │ list[f64] │
╞════════╪════════════╡══════════════╡
│ A ┆ [0.1, 0.2] │ [0.03, 0.14] │ = [0.1 * 0.3, 0.2 * 0.7]
│ A ┆ [0.3, 0.4] │ [0.09, 0.28] │ = [0.3 * 0.3, 0.4 * 0.7]
│ B ┆ [0.5, 0.6] │ [0.15, 0.42] │ = [0.5 * 0.3, 0.6 * 0.7]
│ B ┆ [0.7, 0.8] │ [0.21, 0.56] │ = [0.7 * 0.3, 0.8 * 0.7]
└────────┴────────────┘──────────────┘


Подробнее здесь: https://stackoverflow.com/questions/790 ... regular-py
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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