Pandas admite dos estructuras de datos para almacenar datos: la serie (columna única) y el marco de datos donde los valores se almacenan en una tabla 2D (filas y columnas). Para indexar un marco de datos usando el índice, necesitamos hacer uso del método dataframe.iloc() que toma
Sintaxis: pandas.DataFrame.iloc[]
Parámetros:
Posición de índice: Posición de índice de filas en enteros o lista de enteros.Tipo de retorno: Marco de datos o Serie dependiendo de los parámetros
Vamos a crear un marco de datos. En el siguiente ejemplo, usaremos un conjunto de datos binario simple para clasificar si una especie es un mamífero o un reptil. La columna de especies contiene las etiquetas donde 1 representa mamífero y 0 reptil. Los datos se almacenan en el dictado que se puede pasar a la función DataFrame que genera un marco de datos.
Python3
import pandas as pd dataset = {'toothed': [1, 1, 1, 0, 1, 1, 1, 1, 1, 0], 'hair': [1, 1, 0, 1, 1, 1, 0, 0, 1, 0], 'breathes': [1, 1, 1, 1, 1, 1, 0, 1, 1, 1], 'legs': [1, 1, 0, 1, 1, 1, 0, 0, 1, 1], 'species': [1, 1, 0, 1, 1, 1, 0, 0, 1, 0] } df = pd.DataFrame(dataset) df.head()
Producción :
Ejemplo 1: ahora nos gustaría separar las columnas de especies de las columnas de características (dientes, cabello, respiración, piernas) para esto vamos a hacer uso del método iloc[filas, columnas] ofrecido por pandas.
Aquí ‘:’ representa todas las filas y -1 representa la última columna, por lo que la siguiente celda tomará todas las filas y todas las columnas excepto la última (‘especies’) como se puede ver en la salida:
Python3
X = df.iloc[:,:-1] X
Producción:
Para dividir la columna de especies del resto del conjunto de datos, creamos un código similar, excepto en la posición cols. En lugar de rellenar un segmento, pasamos un valor entero -1.
Python3
Y = df.iloc[:,-1] Y
Producción :
Ejemplo 2: Dividir usando una lista de enteros
Se puede obtener un resultado similar pasando una lista de enteros en lugar de un segmento
Python3
X = df.iloc[:,[0,1,2,3]] X
Producción:
Para la columna de especies, vamos a usar el índice de la columna, que es 4, también podemos usar -1
Python3
Y = df.iloc[:,4] Y
Producción:
Ejemplo 3: Dividir marcos de datos en 2 marcos de datos separados
En los dos ejemplos anteriores, la salida para Y era una Serie y no un marco de datos Ahora vamos a dividir el marco de datos en dos marcos de datos separados, esto puede ser útil cuando se trata de conjuntos de datos de etiquetas múltiples. Estará usando el mismo conjunto de datos.
En el primero, vamos a dividir el cabello de la columna.
Python3
df.iloc[:,[0,1]]
Producción:
El segundo marco de datos contendrá 3 columnas respiraciones, piernas, especies
Python3
df.iloc[:,[2,3,4]]
Producción:
Publicación traducida automáticamente
Artículo escrito por clivefernandes777 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA