MultiIndex的用途

http://pandas.pydata.org/pandas-docs/stable/advanced.html#multiindex-advanced-indexing

MultiIndex / Advanced Indexing

多索引的作用不是grouping分组。

只是在按索引取数据时方便:

In [95]: tuples = list(zip(*[['bar', 'bar', 'baz', 'baz',
   ....:                      'foo', 'foo', 'qux', 'qux'],
   ....:                     ['one', 'two', 'one', 'two',
   ....:                      'one', 'two', 'one', 'two']]))
   ....: 

In [96]: index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])

In [97]: df = pd.DataFrame(np.random.randn(8, 2), index=index, columns=['A', 'B'])

In [98]: df2 = df[:4]

In [99]: df2
Out[99]: 
                     A         B
first second                    
bar   one     0.029399 -0.542108
      two     0.282696 -0.087302
baz   one    -1.575170  1.771208
      two     0.816482  1.100230

df:

  A B
first second    
bar one -1.163615 -1.122556
two 1.468509 0.613618
baz one 0.582933 -2.293806
two -0.764118 0.512178
foo one 0.201312 -0.048329
two -1.653147 -0.700491
qux one -1.248517 0.709165
two 1.922705 -0.487000

 df.loc['bar':'baz']

Out[25]:

    A B
first second    
bar one -1.163615 -1.122556
two 1.468509 0.613618
baz one 0.582933 -2.293806
two -0.764118 0.512178

 df.loc[('foo', 'two')]

A -1.653147 B -0.700491 Name: (foo, two), dtype: float64

猜你喜欢

转载自blog.csdn.net/qq_27361945/article/details/82691821