AttributeError: o objeto 'DataFrame' não tem atributo 'ix'

9

Estou recebendo o erro acima quando tento usar o atributo .ix de um dataframe do pandas para extrair uma coluna, por exemplo, df.ix [:, 'col_header']. O script funcionou a partir desta manhã, mas esta tarde eu o executei em um novo ambiente Linux com uma nova instalação do Pandas. Alguém já viu esse erro antes? Eu procurei aqui e em outros lugares, mas não consigo encontrá-lo.

Diarmid Roberts
fonte
3
Você estava executando uma versão mais antiga dos pandas. Veja isso? stackoverflow.com/questions/43838999/pandas-replacement-for-ix
StupidWolf 30/01

Respostas:

7

tentar df.iloc[:, 'col_header']

.ix está obsoleto

Dr_Hope
fonte
2

teve o mesmo problema com os pandas 1.0.0, isso funcionou para mim

Abra o prompt do Anaconda (cmd) como administrador e, em seguida,

conda install pandas == 0.25.1

Sua versão mais recente dos pandas será substituída pela versão mais antiga!

Eric Stralsund
fonte
1

Altere ix por .loc, ele funcionará corretamente.

Abidi Mohamed
fonte
0

Obrigado.

Em retrospecto, eu provavelmente não precisei usar o .ix, pois o df ['col_header'] funciona para mim e é mais organizado.

Diarmid Roberts
fonte
0

uma coluna:

df[['sepal width']]

duas colunas:

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

colunas especiais (a coluna selecionada inclui 'comprimento'):

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