2017-08-14 6 views
0

私はMultiIndexを試していますが、何らかの理由で非常に基本的なインデックス作成が機能しません。パンダMultiIndexのインデックス作成が機能しない

インデックス:

In [119]: index 
Out[119]: MultiIndex(levels=[[u'Group 1', u'Group 2'], [u'A01', u'A02', u'A03', u'A04']], 
     labels=[[0, 1, 0, 0], [0, 1, 2, 3]], 
     names=[u'Group', u'Well']) 

データフレーム:

df = pd.DataFrame(np.random.randn(4,2), index=index) 

データフレームは、インデックスがあります。

In [124]: df.index 
Out[124]: 
MultiIndex(levels=[[u'Group 1', u'Group 2'], [u'A01', u'A02', u'A03', u'A04']], 
    labels=[[0, 1, 0, 0], [0, 1, 2, 3]], 
    names=[u'Group', u'User']) 

をしかしインデックス:

df['Group 1'] 

のみエラーになります

KeyError: 'Group 1' 

どのように修正できますか?

答えて

1

インデックスを使用してスライスするには、basic indexing with []は列を選択するためのデータフレーム用にはlocが必要です。データフレームがGroup 1という名前の列が含まれていませんので、それは重要なエラーが発生します:

df.loc['Group 1'] 

#    0   1 
#Well  
#A01 -0.337359 -0.113165 
#A03  0.212714 1.619850 
#A04  1.411829 -0.892723 

基本インデックステーブル:

# Object Type   Selection  Return Value Type 
#  Series  series[label]  scalar value 
# DataFrame frame[colname]  Series corresponding to colname 
#  Panel panel[itemname]  DataFrame corresponding to the itemname 

locインデックステーブル:

#Object Type Indexers 
#  Series s.loc[indexer] 
# DataFrame df.loc[row_indexer,column_indexer] 
#  Panel p.loc[item_indexer,major_indexer,minor_indexer] 
関連する問題