【发布时间】:2016-08-16 20:00:45
【问题描述】:
显示我的代码
>>> df = pd.DataFrame({'key1': ['a', 'a', 'b', 'b', 'a'], \
'key2': ['one', 'two', 'one', 'two', 'one'], \
'data1': np.random.randn(5), \
'data2': np.random.randn(5)})
>>> new_df = df.groupby(['key1', 'key2']).mean().unstack()
>>> print new_df
data1 data2
key2 one two one two
key1
a -0.070742 -0.598649 -0.349283 -1.272043
b -0.109347 -0.097627 -0.641455 1.135560
>>> print new_df.columns
MultiIndex(levels=[[u'data1', u'data2'], [u'one', u'two']],
labels=[[0, 0, 1, 1], [0, 1, 0, 1]],
names=[None, u'key2'])
如您所见,MultiIndex数据帧与普通数据帧不同,那么如何访问MultiIndex数据帧中的数据。
【问题讨论】:
-
尽管遵循文档并不容易(解释隐藏在 "advanced indexing" 部分中),但请记住,多级索引基于元组索引,因此访问数据需要
loc和元组,即使有不使用loc甚至不使用元组的模棱两可的快捷方式。
标签: python python-2.7 pandas