Pythonic способ обновления столбца фрейма данных Polars на основе условия соответствия из другого столбцаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pythonic способ обновления столбца фрейма данных Polars на основе условия соответствия из другого столбца

Сообщение Anonymous »

Что такое однострочный способ обновления элементов столбца в Polars на основе условия соответствия из другого столбца, возможно, с помощью лямбда-выражения?
Например, я хотел бы умножьте элементы в столбце 1 на 1000, если элементы в столбце 2 равны 'a'. Вот грубый способ.
import polars as pl

df = pl.DataFrame({
'col1':[1,2,3,4],
'col2':['a', 'a', 'b', 'b'],
'col3':[10.9, 12.0, 33.3, 34.4]
})

y_updated = []
for i in range(df.shape[0]):
row = df
if row['col2'][0]=='a':
y_updated.append(row['col1'][0]*1e3)
else:
y_updated.append(row['col1'][0])

df = df.with_columns(pl.Series(y_updated).alias('col1'))
print(df)


Выходы –
shape: (4, 3)
┌────────┬──────┬──────┐
│ col1 ┆ col2 ┆ col3 │
│ --- ┆ --- ┆ --- │
│ f64 ┆ str ┆ f64 │
╞════════╪══════╪══════╡
│ 1000.0 ┆ a ┆ 10.9 │
│ 2000.0 ┆ a ┆ 12.0 │
│ 3.0 ┆ b ┆ 33.3 │
│ 4.0 ┆ b ┆ 34.4 │
└────────┴──────┴──────┘


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

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

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

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

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

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

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