ich struggeling um den richtigen (auf die auswahl) index zu bekommen, wenn ich die methode xs von pandas benutze, um bestimmte daten in meinem datenframe auszuwählen. Lassen Sie mich zeigen, was ich tue:pandas multiindex selecting ... wie bekomme ich das richtige (eingeschränkt auf auswahl) index
print(df)
value
idx1 idx2 idx3 idx4 idx5
10 2.0 0.0010 1 2 6.0 ...
2 3 6.0 ...
...
7 8 6.0 ...
8 9 6.0 ...
20 2.0 0.0010 1 2 6.0 ...
2 3 6.0 ...
...
18 19 6.0 ...
19 20 6.0 ...
# get dataframe for idx1 = 10, idx2 = 2.0, idx3 = 0.0010
print(df.xs([10,2.0,0.0010]))
value
idx4 idx5
1 2 6.0 ...
2 3 6.0 ...
3 4 6.0 ...
4 5 6.0 ...
5 6 6.0 ...
6 7 6.0 ...
7 8 6.0 ...
8 9 6.0 ...
# get the first index list of this part of the dataframe
print(df.xs([10,2.0,0.0010]).index.levels[0])
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,18, 19]
So verstehe ich nicht, warum die vollständige Liste der Werte, die in idx4 auftreten zurückgegeben wird, auch wenn wir den Datenrahmen auf einen Teil beschränkt, in denen idx4 nur Werte von 1 nehmen zu 8. Ist es, dass ich die index Methode falsch verwende?
Blick auf: http://stackoverflow.com/ Fragen/32585009/Datenframe-Slice-Does-Not-Remove-Index-Werte – desiato