Как закодировать строковый столбец в целые числа на полярах? [дубликат]Python

Программы на Python
Ответить
Anonymous
 Как закодировать строковый столбец в целые числа на полярах? [дубликат]

Сообщение Anonymous »

Мне хотелось бы простым способом «закодировать» значения данного столбца, например строки, в произвольный целочисленный идентификатор?

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

df = (
pl.DataFrame({"animal": ['elephant', 'dog', 'cat', 'mouse'],
"country": ['Mexico', 'Denmark', 'Mexico', 'France'],
"cost": [1000.0, 20.0, 10.0, 120.0]})
)
print(df)
shape: (4, 3)
┌──────────┬─────────┬────────┐
│ animal   ┆ country ┆ cost   │
│ ---      ┆ ---     ┆ ---    │
│ str      ┆ str     ┆ f64    │
╞══════════╪═════════╪════════╡
│ elephant ┆ Mexico  ┆ 1000.0 │
│ dog      ┆ Denmark ┆ 20.0   │
│ cat      ┆ Mexico  ┆ 10.0   │
│ mouse    ┆ France  ┆ 120.0  │
└──────────┴─────────┴────────┘
Я хотел бы закодировать столбцы животного и страны, чтобы получить что-то вроде

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

shape: (4, 5)
┌──────────┬─────────┬────────┬────────────────┬─────────────────┐
│ animal   ┆ country ┆ cost   ┆ animal_encoded ┆ country_encoded │
│ ---      ┆ ---     ┆ ---    ┆ ---            ┆ ---             │
│ str      ┆ str     ┆ f64    ┆ i64            ┆ i64             │
╞══════════╪═════════╪════════╪════════════════╪═════════════════╡
│ elephant ┆ Mexico  ┆ 1000.0 ┆ 0              ┆ 0               │
│ dog      ┆ Denmark ┆ 20.0   ┆ 1              ┆ 1               │
│ cat      ┆ Mexico  ┆ 10.0   ┆ 2              ┆ 0               │
│ mouse    ┆ France  ┆ 120.0  ┆ 3              ┆ 2               │
└──────────┴─────────┴────────┴────────────────┴─────────────────┘
Я думал, что можно выполнить какую-то индексацию строк из уникального контекстаd, а затем снова для расширения до того же количества исходных строк, но мне не удалось это реализовать.>

Подробнее здесь: https://stackoverflow.com/questions/765 ... -on-polars
Ответить

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

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

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

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

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