Sélectionnez un seul indice de multiindex DataFrame
Je suis en train de créer un nouveau DataFrame l'aide d'un seul indice à partir d'un multi-indexé DataFrame.
A B C
first second
bar one 0.895717 0.410835 -1.413681
two 0.805244 0.813850 1.607920
baz one -1.206412 0.132003 1.024180
two 2.565646 -0.827317 0.569605
foo one 1.431256 -0.076467 0.875906
two 1.340309 -1.187678 -2.211372
qux one -1.170299 1.130127 0.974466
two -0.226169 -1.436737 -2.006747
Idéalement, je voudrais quelque chose comme ceci:
In: df.ix[level="first"]
et:
Out:
A B C
first
bar 0.895717 0.410835 -1.413681
0.805244 0.813850 1.607920
baz -1.206412 0.132003 1.024180
2.565646 -0.827317 0.569605
foo 1.431256 -0.076467 0.875906
1.340309 -1.187678 -2.211372
qux -1.170299 1.130127 0.974466
-0.226169 -1.436737 -2.006747
`
Essentiellement je souhaite supprimer tous les autres indices de la multi-indice autre que le niveau first
. Est-il un moyen facile de faire cela?
OriginalL'auteur Skorpeo | 2015-01-25
Vous devez vous connecter pour publier un commentaire.
L'une des solutions pourrait être de simplement relier
df.index
au niveau de la MultiIndex. Vous pouvez le faire en spécifiant le nom de l'étiquette que vous voulez conserver:ou utiliser le niveau de la valeur entière:
Tous les autres niveaux de la MultiIndex disparaissent ici.
OriginalL'auteur Alex Riley
La solution est assez nouveau et utilise le
df.xs
fonctionPouvez aussi le faire avec de multiples indices
De l'installation pour les exemples ci-dessous
OriginalL'auteur Alexander McFarlane