[Изменено и расширено из другого вопроса] Мой фрейм данных содержит строковые столбцы A, L, G. L и G содержат букву с двухзначным номером. Если строка A — «foo» или «спам», строка G в этой строке должна быть заменена на исходную букву + исходный номер L, а строка L должна быть изменена на «XX».
df = pl.DataFrame(
{
"A": ["foo", "ham", "spam", "egg",],
"L": ["A54", "A12", "B84", "C12"],
"G": ["X34", "C84", "G96", "L60",],
}
)
print(df)
shape: (4, 3)
┌──────┬─────┬─────┐
│ A ┆ L ┆ G │
│ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str │
╞══════╪═════╪═════╡
│ foo ┆ A54 ┆ X34 │
│ ham ┆ A12 ┆ C84 │
│ spam ┆ B84 ┆ G96 │
│ egg ┆ C12 ┆ L60 │
└──────┴─────┴─────┘
Ожидаемый результат:
shape: (4, 3)
┌──────┬─────┬─────┐
│ A ┆ L ┆ G │
│ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str │
╞══════╪═════╪═════╡
│ foo ┆ XX ┆ X54 │
│ ham ┆ A12 ┆ C84 │
│ spam ┆ XX ┆ G84 │
│ egg ┆ C12 ┆ L60 │
└──────┴─────┴─────┘
Подробнее здесь: https://stackoverflow.com/questions/767 ... -in-polars