В полярах выберите все столбцы, заканчивающиеся шаблоном, и добавьте новые столбцы без шаблона.Python

Программы на Python
Ответить
Anonymous
 В полярах выберите все столбцы, заканчивающиеся шаблоном, и добавьте новые столбцы без шаблона.

Сообщение Anonymous »

У меня есть следующий фрейм данных:
import polars as pl
import numpy as np

df = pl.DataFrame({
"nrs": [1, 2, 3, None, 5],
"names_A0": ["foo", "ham", "spam", "egg", None],
"random_A0": np.random.rand(5),
"A_A2": [True, True, False, False, False],
})
digit = 0

Для каждого столбца X, имя которого заканчивается на строку suf =f'_A{digit}', я хочу добавить идентичный столбец в df, имя которого такое же, как X, но без suf.
В этом примере мне нужно добавить имена столбцов и случайные в исходный фрейм данных df, содержимое которого идентично содержимому столбцов имена_A0 и random_A0 соответственно.
shape: (5, 6)
┌──────┬──────────┬───────────┬───────┬───────┬──────────┐
│ nrs ┆ names_A0 ┆ random_A0 ┆ A_A2 ┆ names ┆ random │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ i64 ┆ str ┆ f64 ┆ bool ┆ str ┆ f64 │
╞══════╪══════════╪═══════════╪═══════╪═══════╪══════════╡
│ 1 ┆ foo ┆ 0.274748 ┆ true ┆ foo ┆ 0.274748 │
│ 2 ┆ ham ┆ 0.26136 ┆ true ┆ ham ┆ 0.26136 │
│ 3 ┆ spam ┆ 0.718004 ┆ false ┆ spam ┆ 0.718004 │
│ null ┆ egg ┆ 0.303287 ┆ false ┆ egg ┆ 0.303287 │
│ 5 ┆ null ┆ 0.719041 ┆ false ┆ null ┆ 0.719041 │
└──────┴──────────┴───────────┴───────┴───────┴──────────┘


Подробнее здесь: https://stackoverflow.com/questions/780 ... thout-patt
Ответить

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

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

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

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

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