Sie müssen angeben, welchen Index Sie verwenden. In meinem Beispiel habe ich der zweite Index (My Datenrahmen s ist, weil es so in Multiindex Seite von Pandas war):
s[s.index.labels[1]==1]
können Sie tatsächlich sehen, wie Index, wenn Sie Typ aufgebaut ist:
s.index
die resultierende Struktur ist:
MultiIndex(levels=[['bar', 'baz', 'foo', 'qux'], [1, 2]],
labels=[[0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 0, 1, 0, 1, 0, 1]],
names=['first', 'second'])
Below ich habe den vollständigen Code:
>>> import pandas as pd
>>> import numpy as np
>>> arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
... [1, 2, 1, 2, 1, 2, 1, 2]]
...
>>> tuples = list(zip(*arrays))
>>> index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
>>> s = pd.Series(np.random.randn(8), index=index)
>>> s[s.index.labels[1]==1]
first second
bar 2 -0.304029
baz 2 -1.216370
foo 2 1.401905
qux 2 -0.411468
dtype: float64
Sie können den Index zurück in Spalten konvertieren und anschließend filtern. Es funktioniert sicherlich mit einem Index. Es sollte mit Multiindex funktionieren, aber ich bin mir nicht sicher. –
Zeigen Sie den Datenrahmen an, mit dem Sie arbeiten. – Merlin
Warum der Downvote? Ist das irgendwo klar dokumentiert? Ist es unklar? Ist es nicht hilfreich? Es hätte mir offensichtlich geholfen http://meta.stackoverflow.com/questions/252677/when-is-it-juditable-to-downvote-a-question –