suppose que nous avons le fichier de données suivant: Comment puis-je sélectionner toutes les colonnes où si Toutefois, comme année est un index, Comment puis-je formuler la condition de l'index? Merci d'avance! P> p> col1! = 'A1' code> ou an! = 2011 < / code>? p> année code> ne serait pas un index, je pourrais le faire par p> df.year code> lancerait un attributError. p>
4 Réponses :
Vous pouvez accéder à l'index par la méthode df.index.get_level_values code>, par ex. Vous pouvez gagner le résultat recherché par In [29]: df[(df.col1 != 'a1') | (df.index.get_level_values('year') != 2011)]
Out[29]:
col1 col2
year rank
2011 2 b1 b2
2012 1 c1 b2
2 a1 c2
Oh oui, c'est vrai. Ce comportement semble avoir changé il y a quelque temps, quand il n'a pas fonctionné pour comparer certaines séries indexées avec un tableau, je vais régler cela. Merci d'avoir souligné!
Vous pouvez accéder à l'index via pour accéder à la fois l'année et l'index de rang ensemble, < Code> df.loc [2011,1] code>, qui produira local code> et iLOC code> oloc code>. A1 et A2 code> p> p>
Vous pouvez utiliser la méthode sortie: p> < Pré> xxx pré> p> requête () code> qui traite à la fois l'index et les colonnes du cadre sous forme de colonne:
Vous pouvez essayer
col1 col2
year rank
2011 1 a1 a2
2 b1 b2
2012 2 a1 c2
Avez-vous absolument besoin d'utiliser ces colonnes comme index?