首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字典与Continent: Country映射到具有Country列的DataFrame

将字典与Continent: Country映射到具有Country列的DataFrame
EN

Stack Overflow用户
提问于 2021-08-26 18:09:40
回答 1查看 147关注 0票数 2

我有一个df‘’Country‘列的数据帧。我已经创建了一个字典,将所有大陆作为关键字,并将值作为相应国家的列表。

continents = { "North America" : ["Canada","Mexico","United States"]}

我想把它映射到我的数据框中,在那里它创建一个列,其中每个值都在df‘’Country‘对应的大陆上。

我尝试过下面的方法,但它返回一列NA值

df['Continents'] = df['Country'].map(continents)

我需要创建一个函数来绘制大陆图吗?或者我可以使用pandas .map()方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-26 18:11:57

你的字典有错误的格式,你需要相反的格式(并且没有列表)。

您可以使用此命令来获取正确的格式:

代码语言:javascript
复制
countries_map = {country: continent
                 for continent,countries in continents.items()
                 for country in countries}

输出:

代码语言:javascript
复制
{'Canada': 'North America',
 'Mexico': 'North America',
 'United States': 'North America'}

然后按照以下步骤进行操作:

代码语言:javascript
复制
df['Continents'] = df['Country'].map(countries_map)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68943476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档