Как использовать Polars.concat_str для объединения нескольких столбцов, выбранных регулярным выражением?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать Polars.concat_str для объединения нескольких столбцов, выбранных регулярным выражением?

Сообщение Anonymous »

Обновление: concat_str теперь принимает выбор столбцов регулярных выражений. Запрос выполняется должным образом.

У меня возникла проблема при объединении столбцов в один. Скажем, у меня есть кадр данных (df), как показано ниже:

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

df = pl.from_repr("""
┌─────┬───────┬───────┬───────┐
│ a   ┆ b_a_1 ┆ b_a_2 ┆ b_a_3 │
│ --- ┆ ---   ┆ ---   ┆ ---   │
│ i64 ┆ str   ┆ str   ┆ str   │
╞═════╪═══════╪═══════╪═══════╡
│ 1   ┆ a--   ┆       ┆       │
│ 1   ┆       ┆ b--   ┆       │
│ 1   ┆       ┆       ┆ c--   │
└─────┴───────┴───────┴───────┘
""")
И я хочу иметь возможность объединить последние три (3) столбца в один, используя python-поляры. Я попробовал и успешно получил то, что хотел. Однако

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

>> out = df.select(pl.concat_str('b_a_1', 'b_a_2', 'b_a_3').alias('b_a'))
>> print(out)

shape: (3, 1)
┌─────┐
│ b_a │
│ --- │
│ str │
╞═════╡
│ a-- │
│ b-- │
│ c-- │
└─────┘
когда я использую регулярное выражение для выбора столбцов, я не получаю вышеуказанный результат

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

>> out = df.select(pl.concat_str(r'^b_a_\d$'))
>> print(out)

shape: (3, 3)
┌───────┬───────┬───────┐
│ b_a_1 ┆ b_a_2 ┆ b_a_3 │
│ ---   ┆ ---   ┆ ---   │
│ str   ┆ str   ┆ str   │
╞═══════╪═══════╪═══════╡
│ a--   ┆       ┆       │
│       ┆ b--   ┆       │
│       ┆       ┆ c--   │
└───────┴───────┴───────┘
и ничего при запуске

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

>> out = df.select(pl.concat_str(r'^b_a_*$'))
>> print(out)

shape: (0, 0)
┌┐
╞╡
└┘
Как мне выбрать столбцы с помощью регулярного выражения и объединить их в один?
Большое спасибо за ваше время и предложение.
С уважением,
Ти Ан

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

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

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

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

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

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

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