AttributeError: el objeto 'DataFrame' no tiene el atributo 'ix'

9

Recibo el error anterior cuando intento usar el atributo .ix de un marco de datos de pandas para extraer una columna, por ejemplo, df.ix [:, 'col_header']. El script funcionó a partir de esta mañana, pero esta tarde lo ejecuté en un nuevo entorno de Linux con una nueva instalación de Pandas. ¿Alguien más ha visto este error antes? He buscado aquí y en otros lugares, pero no puedo encontrarlo.

Diarmid Roberts
fuente
3
Estabas ejecutando una versión anterior de pandas. ¿Mira esto? stackoverflow.com/questions/43838999/pandas-replacement-for-ix
StupidWolf

Respuestas:

7

tratar df.iloc[:, 'col_header']

.ix es obsoleto

Dr_Hope
fuente
2

Tuve el mismo problema con pandas 1.0.0, esto funcionó para mí

Abra Anaconda Prompt (cmd) como Administrador, luego

conda install pandas == 0.25.1

¡Su versión más reciente de pandas será sobrescrita por la anterior!

Eric Stralsund
fuente
2

Cambiar ix por .loc funcionará correctamente.

Abidi Mohamed
fuente
0

Gracias.

En retrospectiva, probablemente no necesité usar .ix, ya que df ['col_header'] funciona para mí y es más ordenado.

Diarmid Roberts
fuente
0

una columna:

df[['sepal width']]

Dos columnas:

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

columnas especiales (seleccione la columna incluye 'longitud'):

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