Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

342
Visualizações
iloc dando 'IndexError: el indexador posicional único está fuera de los límites'

Estoy tratando de codificar información para leer en un modelo de Machine Learning usando lo siguiente

 import numpy as np import pandas as pd import matplotlib.pyplot as py Dataset = pd.read_csv('filename.csv', sep = ',') X = Dataset.iloc[:,:-1].values Y = Dataset.iloc[:,18].values from sklearn.preprocessing import LabelEncoder, OneHotEncoder labelencoder_X = LabelEncoder() X[:, 0] = labelencoder_X.fit_transform(X[:, 0]) onehotencoder = OneHotEncoder(categorical_features = [0]) X = onehotencoder.fit_transform(X).toarray()

sin embargo, recibo un error que dice

 IndexError: single positional indexer is out-of-bounds
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Este error es causado por:

 Y = Dataset.iloc[:,18].values

La indexación está fuera de los límites aquí probablemente porque hay menos de 19 columnas en su conjunto de datos, por lo que la columna 18 no existe. El siguiente código que proporcionó no usa Y en absoluto, por lo que puede comentar esta línea por ahora.

over 4 years ago · Santiago Trujillo Relatório

0

Esto sucede cuando indexa una fila/columna con un número que es más grande que las dimensiones de su dataframe de datos. Por ejemplo, obtener la undécima columna cuando solo tiene tres.

 import pandas as pd df = pd.DataFrame({'Name': ['Mark', 'Laura', 'Adam', 'Roger', 'Anna'], 'City': ['Lisbon', 'Montreal', 'Lisbon', 'Berlin', 'Glasgow'], 'Car': ['Tesla', 'Audi', 'Porsche', 'Ford', 'Honda']})

Tienes 5 filas y tres columnas :

 Name City Car 0 Mark Lisbon Tesla 1 Laura Montreal Audi 2 Adam Lisbon Porsche 3 Roger Berlin Ford 4 Anna Glasgow Honda

Intentemos indexar la undécima columna (no existe):

 df.iloc[:, 10] # there is obviously no 11th column

IndexError: el indexador posicional único está fuera de los límites

Si es un principiante con Python, recuerde que df.iloc[:, 10] se referiría a la undécima columna.

over 4 years ago · Santiago Trujillo Relatório

0

No ayuda para la solución de la pregunta aquí, pero quien quiera que venga aquí por el error y no por el ejemplo, tuve este error IndexError: single positional indexer is out-of-bounds cuando traté de encontrar una fila en un dataframe2 mientras recorre las filas de dataframe1, usa muchos criterios en el filtro de dataframe2 y agrega cada fila encontrada a un nuevo dataframe3 vacío (¡No me preguntes por qué!). Uno de los valores en la fila era un valor "nan" tanto en dataframe1 como en dataframe2. Ya no pude filtrar ni agregar una nueva fila.

Solución:

 dataframe1.fillna("nan") # or whatever you want as a fill value dataframe2.fillna("nan")

y el script se ejecutó sin el error.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda