问题描述
我正在创建像这样的多索引系列:
index = [ ('America','California',2000),('America',2010),('Asia','Delhi','HK','Texas',2010)
]
populations = [33871648,37253956,18976457,19378102,30861820,35145561,20851820,25145561]
new_index = pd.MultiIndex.from_tuples(index)
pop = pd.Series(populations,index=new_index).sort_index()
我正在尝试检索这样的值:
pop['America'] # works
pop['America',2010] # works
pop['America','Texas'] # works
如何前往美国(除2010年以外)任何城市?
pop['America',:,2010] # not working
在这种情况下如何使用切片?
解决方法
使用:
idx = pd.IndexSlice
print (pop.loc[idx['America',:,2010]])
America California 2010 37253956
Texas 2010 25145561
dtype: int64
或者:
print (pop.loc['America',slice(None),2010])
America California 2010 37253956
Texas 2010 25145561
dtype: int64