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
Создайте новый столбец в df на основе членства значений из другого столбца в словаре. ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Создайте новый столбец в df на основе членства значений из другого столбца в словаре.
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Создайте новый столбец в df на основе членства значений из другого столбца в словаре.
Anonymous » » в форуме Python - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-