1
ラベルでPandasマルチインデックスオブジェクトを選択する方法についての説明はありません。ここでは、マルチインデックスが正確の各エントリを示し、「座標」の配列からなる、「ラベル」というエントリが含まれていることをこの例から見ることができる文書 (http://pandas.pydata.org/pandas-docs/stable/advanced.html)ラベルを使用したマルチインデックスエントリの選択
In [1]: arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
...: ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
...:
In [2]: tuples = list(zip(*arrays))
In [4]: index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
In [7]: s = pd.Series(np.random.randn(8), index=index)
Out[7]:
first second
bar one 0.469112
two -0.282863
baz one -1.509059
two -1.135632
foo one 1.212112
two -0.173215
qux one 0.119209
two -1.044236
dtype: float64
In [5]: s.index
Out[5]:
MultiIndex(levels=[[u'bar', u'baz', u'foo', u'qux'], [u'one', u'two']],
labels=[[0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 0, 1, 0, 1, 0, 1]],
names=[u'first', u'second'])
の例でありますマルチインデックス。私の質問です:どのようにこれらの座標を正確に指定するエントリを呼び出すことができます。だから、例えば、私が欲しいのように0.469112、
s.loc[0,1]
戻り-0.282863とを返す必要があります
s.loc[0,0]
のようなものです。 これはドキュメントのどこにでも記載されていません。
[OK]を与えるだろう、私はこれが私の具体的な質問に答えることがわかります。しかし問題は、私の実際の問題では、マルチスタックのレイヤーが増えているのに対して、アンスタックは1つのレベルでしか機能しないということです。 Pandasがインデックスに明示的に 'ラベル'を提供している場合、それを使用する方法はないのでしょうか? – user56643
その場合、私は 's [index.levels [0] [0]、index.levels [1] [0]]'を使用すると思います。 これはあなたが探しているものではないかもしれないが、これは私が考えることができる最も近いものです。 –