Заполните несколько столбцов поляров постоянным значениемPython

Программы на Python
Ответить
Anonymous
 Заполните несколько столбцов поляров постоянным значением

Сообщение Anonymous »

Я работаю со следующим кодом...

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

import polars as pl

df = pl.DataFrame({
'region': ['GB', 'FR', 'US'],
'qty':    [3, 6, -8],
'price':  [100, 102, 95],
'tenor':   ['1Y', '6M', '2Y'],
})

cols_to_set = ['price', 'tenor']
fill_val    = '-'

df.with_columns([pl.lit(fill_val).alias(c) for c in cols_to_set])
...со следующим выводом.

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

shape: (3, 4)
┌────────┬─────┬───────┬───────┐
│ region ┆ qty ┆ price ┆ tenor │
│ ---    ┆ --- ┆ ---   ┆ ---   │
│ str    ┆ i64 ┆ str   ┆ str   │
╞════════╪═════╪═══════╪═══════╡
│ GB     ┆ 3   ┆ -     ┆ -     │
│ FR     ┆ 6   ┆ -     ┆ -     │
│ US     ┆ -8  ┆ -     ┆ -     │
└────────┴─────┴───────┴───────┘
Вместо использования списка выражений pl.lit я подумал, что можно использовать одно pl.lit(fill_val).alias(cols_to_set). Однако происходит сбой с ошибкой

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

TypeError: argument 'name': 'list' object cannot be converted to 'PyString'
Есть ли способ упростить описанное выше и установить для всех столбцов в cols_to_set определенное постоянное значение fill_val?


Подробнее здесь: https://stackoverflow.com/questions/788 ... tant-value
Ответить

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

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

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

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

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