AttributeError: l'objet 'DataFrame' n'a pas d'attribut 'ix'

9

J'obtiens l'erreur ci-dessus lorsque j'essaie d'utiliser l'attribut .ix d'une trame de données pandas pour extraire une colonne, par exemple df.ix [:, 'col_header']. Le script a fonctionné ce matin, mais cet après-midi, je l'ai exécuté dans un nouvel environnement Linux avec une nouvelle installation de Pandas. Quelqu'un d'autre a-t-il déjà vu cette erreur? J'ai cherché ici et ailleurs mais je ne le trouve pas.

Diarmid Roberts
la source
3
Vous utilisiez une ancienne version de pandas. Regarde ça? stackoverflow.com/questions/43838999/pandas-replacement-for-ix
StupidWolf

Réponses:

7

essayer df.iloc[:, 'col_header']

.ix est obsolète

Dr_Hope
la source
2

eu le même problème avec pandas 1.0.0, cela a fonctionné pour moi

Ouvrez Anaconda Prompt (cmd) en tant qu'administrateur, puis

conda install pandas == 0.25.1

Votre nouvelle version pandas sera remplacée par une version plus ancienne!

Eric Stralsund
la source
2

Modifiez ix par .loc, cela fonctionnera correctement.

Abidi Mohamed
la source
0

Merci.

Rétrospectivement, je n'ai probablement pas eu besoin d'utiliser .ix, car df ['col_header'] fonctionne pour moi et est plus propre.

Diarmid Roberts
la source
0

une colonne:

df[['sepal width']]

deux colonnes:

df[['sepal width','petal width']]

colonnes spéciales (sélectionnez la colonne pour inclure la «longueur»):

df[[c for c in df.columns if 'length' in c]]
HelloNewWorld
la source