Dividir marco de datos de Pandas por índice de columna

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 :

salida de la cabeza()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *