Создайте новый столбец в 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', 'brazil']
calling_codes = [1, 33, 55]

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. Я не совсем уверен, имеет ли это смысл, поэтому я могу написать какой-нибудь псевдокод или что-то еще, если это проще.
Я пробовал использовать фильтр, заменить, with_columns и map_elements, но пока безуспешно. Я знаю о полярах всего несколько дней, поэтому прошу прощения за простой вопрос. Мы будем очень признательны за любую помощь!
РЕДАКТИРОВАТЬ 24 октября 2024 г.
Приношу извинения за это исправление. Мои данные выглядят примерно так:

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

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'}

df.with_columns(capital = pl.col("country").replace(capitals_dict)) работает, но заполняет строки для Японии и новой_зеландии с названием страны. Как мне назначить значение по умолчанию для стран не из списка Capitals_dict, а из списков стран и Calling_codes?
Еще раз прошу прощения за неточность в первом посте и благодарен за любую помощь!

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

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

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

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

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

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

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