我有一个df‘’Country‘列的数据帧。我已经创建了一个字典,将所有大陆作为关键字,并将值作为相应国家的列表。
continents = { "North America" : ["Canada","Mexico","United States"]}
我想把它映射到我的数据框中,在那里它创建一个列,其中每个值都在df‘’Country‘对应的大陆上。
我尝试过下面的方法,但它返回一列NA值
df['Continents'] = df['Country'].map(continents)
我需要创建一个函数来绘制大陆图吗?或者我可以使用pandas .map()方法吗?
发布于 2021-08-26 18:11:57
你的字典有错误的格式,你需要相反的格式(并且没有列表)。
您可以使用此命令来获取正确的格式:
countries_map = {country: continent
for continent,countries in continents.items()
for country in countries}输出:
{'Canada': 'North America',
'Mexico': 'North America',
'United States': 'North America'}然后按照以下步骤进行操作:
df['Continents'] = df['Country'].map(countries_map)https://stackoverflow.com/questions/68943476
复制相似问题