Создайте новый столбец в df на основе членства значений из другого столбца в словаре.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создайте новый столбец в df на основе членства значений из другого столбца в словаре.

Сообщение Anonymous »

Python 3.12.3
Polars 1.8.2
Polars-lts-cpu: 1.10.0
ОС: Linux-lite 24.04 VM
У меня есть следующий код:
import polars as pl

countries = ['usa', 'france', 'japan', 'brazil', 'new_zealand']
calling_codes = [1, 33, 81, 55, 64]

df = pl.DataFrame({'country': countries, 'calling_code': calling_codes })

capitals_dict = {'usa':'washington_dc', 'france': 'paris', 'brazil': 'brasilia'}

Я хотел бы создать новый столбец с именем Capital в df, который заполняется значениями в Capitals_dict, если страна, найденная в df['country'] находится в ключах Capitals_dict.
Я пробовал использовать replace:
df.with_columns(capital = pl.col('country').replace(capitals_dict))

shape: (5, 3)
┌─────────────┬──────────────┬───────────────┐
│ country ┆ calling_code ┆ capital │
│ --- ┆ --- ┆ --- │
│ str ┆ i64 ┆ str │
╞═════════════╪══════════════╪═══════════════╡
│ usa ┆ 1 ┆ washington_dc │
│ france ┆ 33 ┆ paris │
│ japan ┆ 81 ┆ japan │
│ brazil ┆ 55 ┆ brasilia │
│ new_zealand ┆ 64 ┆ new_zealand │
└─────────────┴──────────────┴───────────────┘

Но строки для Японии и новой_зеландии будут заполнены названием страны. Как мне присвоить значение по умолчанию для стран не из списка Capitals_dict, а из списков стран и Call_codes?
Чтобы я получил вместо этого что-то вроде этого:
shape: (5, 3)
┌─────────────┬──────────────┬───────────────┐
│ country ┆ calling_code ┆ capital │
│ --- ┆ --- ┆ --- │
│ str ┆ i64 ┆ str │
╞═════════════╪══════════════╪═══════════════╡
│ usa ┆ 1 ┆ washington_dc │
│ france ┆ 33 ┆ paris │
│ japan ┆ 81 ┆ [default] │ #

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

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

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

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

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

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

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