Python Polars не может преобразовать столбец f64 в str и агрегировать в списокPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Polars не может преобразовать столбец f64 в str и агрегировать в список

Сообщение Anonymous »

Работа с фреймом данных типа:

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

df = pl.DataFrame({
'order': [38681.0, 38692.0, 38680.0, 38693.0],
'shipto': ["471433", "239269", "471433","239269"],
'value': [10,20,30,None]
})
Необходимо сгруппировать по столбцу «Доставка», суммировать значения и объединить заказ в список. Пробовал несколько вещей, но ничего не получилось.
Базовый скрипт:

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

df = (
df
.group_by('shipto')
.agg(
pl.col('order').map_elements(lambda x: str(x)).alias('order_list'),
pl.sum('value')
)
)
Возвраты:

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

┌────────┬──────────────────┬───────┐
│ shipto ┆ order_list       ┆ value │
│ ---    ┆ ---              ┆ ---   │
│ str    ┆ str              ┆ i64   │
╞════════╪══════════════════╪═══════╡
│ 239269 ┆ shape: (2,)      ┆ 20    │
│        ┆ Series: '' [f64] ┆       │
│        ┆ […               ┆       │
│ 471433 ┆ shape: (2,)      ┆ 40    │
│        ┆ Series: '' [f64] ┆       │
│        ┆ […               ┆       │
└────────┴──────────────────┴───────┘
Я надеюсь получить в столбце «order_list» список[f64] или список[str]:

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

┌────────┬────────────────────┬───────┐
│ shipto ┆ order              ┆ value │
│ ---    ┆ ---                ┆ ---   │
│ str    ┆ list[f64]          ┆ i64   │
╞════════╪════════════════════╪═══════╡
│ 239269 ┆ [38692.0, 38693.0] ┆ 20    │
│ 471433 ┆ [38681.0, 38680.0] ┆ 40    │
└────────┴────────────────────┴───────┘
Я предполагаю, что столбец «Порядок» необходимо преобразовать из значений f64 в строку, но не могу заставить это работать.
Конечно, есть какая-то базовая ошибка, но мы будем очень признательны за продолжение борьбы с этим и за любую помощь.

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

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

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

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

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

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

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