【发布时间】:2020-09-01 02:45:54
【问题描述】:
我有以下字典:
ContinentDict = {'China':'Asia',
'United States':'North America',
'Japan':'Asia',
'United Kingdom':'Europe',
'Russian Federation':'Europe',
'Canada':'North America',
'Germany':'Europe',
'India':'Asia',
'France':'Europe',
'South Korea':'Asia',
'Italy':'Europe',
'Spain':'Europe',
'Iran':'Asia',
'Australia':'Australia',
'Brazil':'South America'}
我已将这本字典 (keys) 中的 国家 分类为 continents (values)。
from collections import defaultdict
dictionary = defaultdict(list)
for key, value in ContinentDict.items():
dictionary[value].append(key)
这给了我:
dictionary
defaultdict(<class 'list'>, {'Asia': ['China', 'Japan', 'India', 'South Korea', 'Iran'], 'North America': ['United States', 'Canada'], 'Europe': ['United Kingdom', 'Russian Federation', 'Germany', 'France', 'Italy', 'Spain'], 'Australia': ['Australia'], 'South America': ['Brazil']})
我也有 Pandas 系列Reducedset['estimate']:
Country
China 1.36765e+09
United States 3.17615e+08
Japan 1.27409e+08
United Kingdom 6.3871e+07
Russian Federation 1.435e+08
Canada 3.52399e+07
Germany 8.03697e+07
India 1.27673e+09
France 6.38373e+07
South Korea 4.98054e+07
Italy 5.99083e+07
Spain 4.64434e+07
Iran 7.70756e+07
Australia 2.3316e+07
Brazil 2.05915e+08
Name: estimate, dtype: object
我想从这本字典创建一个层次索引,大陆是层次结构的顶部,其次是国家。
我尝试了以下方法:
totuple = dictionary.items()
index = pd.MultiIndex.from_tuples(index)
hierarchy = pop.reindex(index)
但是,这不起作用。
有人能帮我一把吗?
【问题讨论】:
标签: python pandas dataframe dictionary indexing