Добавить столбец в pandas .Dataframe, используя значения ключей из словаря - PullRequest
1 голос
/ 05 августа 2020

У меня есть следующий фрейм данных:

enter image description here

And I have the below dictionary:

resource_ids_dict = {'Austria':1586023272, 'Bulgaria':1550004006, 'Croatia':1131119835, 'Denmark':1703440195, 
                     'Finland':2005848983, 'France':1264698819, 'Germany':1907737079, 'Greece':2113941104, 
                     'Italy':27898245, 'Netherlands':1832579427, 'Norway':1054291604, 'Poland':1188865122, 
                     'Romania':270819662, 'Russia':2132391298, 'Serbia':1155274960, 'South Africa':635838568, 
                     'Spain':52600180, 'Switzerland':842323896, 'Turkey':1716131192, 'UK':199152257}

Я использую приведенный выше словарь значения для вызовов API поставщика . Затем я добавляю все возвращаемые данные в фрейм данных df.

Теперь я хотел бы добавить столбец после ID, который является словарем keys dictionay values ​​ that l ie in ResourceSetID.

Я поискал в Интернете, но ничего не нашел (вероятно, из-за отсутствия точного поиска по ключевым словам ). Конечно, это должно быть однострочное письмо? Я хочу избежать зацикливания фрейма данных и словаря и сопоставления таким образом ..

1 Ответ

3 голосов
/ 05 августа 2020

Используйте Series.map, но сначала необходимо поменять местами значения с ключами в словаре:

d = {v:k for k, v in resource_ids_dict.items()}
#alternative
#d = dict(zip(resource_ids_dict.values(), resource_ids_dict.keys()))
df['new'] = df['ResourceSetID'].map(d)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...