En esta pequeña entrada vamos a ver cómo se pueden obtener el nombre de las columnas y filas en Pandas. Una tarea que parece trivial, pero es importante cuando se importan datos desde archivos externos.
Para obtener el nombre de las columnas y filas en un DataFrame Pandas es necesario disponer de una en memoria. En esta ocasión crearemos manualmente el DataFrame partiendo de un diccionario y agregando a este una lista con los índices.
import pandas as pd
users = {'first_name': ['Montgomery', 'Dagmar', 'Reeba', 'Shalom', 'Broddy', 'Aurelia'],
'last_name': ['Humes', 'Elstow', 'Wattisham', 'Alen', 'Keningham', 'Brechin'],
'age': [27, 41, 29, 29, 21, 33],
'gender': ['Male', 'Female', 'Female', 'Male', 'Male', 'Female']}
df = pd.DataFrame(users, index=['a', 'b', 'c' , 'd' , 'e' , 'f']) first_name last_name age gender a Montgomery Humes 27 Male b Dagmar Elstow 41 Female c Reeba Wattisham 29 Female d Shalom Alen 29 Male e Broddy Keningham 21 Male f Aurelia Brechin 33 Female
Tal como se puede ver en el ejemplo, los índices de un DataFrame Pandas pueden también pueden ser de tipo texto. No siendo obligatoriamente valores numéricos correlativos.
Ahora para obtener el nombre de las columnas de un DataFrame se puede obtener mediante la propiedad columns.values. Una propiedad que tienen todos los objetos de este tipo. Así se puede cargar en una variable utilizando el código.
columns_names = df.columns.values
array(['first_name', 'last_name', 'age', 'gender'], dtype=object)
Nótese que la variable columns_names es un array de NumPy. Si se desea tener los nombres en una lista el objeto se puede convertir fácilmente mediante el siguiente código.
columns_names_list = list(columns_names)
['first_name', 'last_name', 'age', 'gender']
También es posible acceder al nombre de una columna en concreto. Dado que las columnas son array de NumPy, solamente se debe indicar entre corchetes la posición de la columna.
df.columns.values[1]
'last_name'
Para obtener el nombre de las filas el proceso es análogo al anterior. Pero utilizando la propiedad index.values que también se encuentra en todos los DataFrames de Pandas. De este modo se puede obtener un array de NumPy con los valores de las filas mediante el comando.
row_names = df.index.values
array(['a', 'b', 'c', 'd', 'e', 'f'], dtype=object)
Al igual que en el caso de las columnas, es posible convertir este objeto en una lista de Python (list(df.index.values)). Por otro lado, si solamente se desea acceder al nombre de una fila se puede acceder directamente a estas como cualquier otro array de NumPy.
df.index.values[3]
d
En esta entrada se ha visto cómo se pueden obtener el nombre de las columnas y filas en Pandas. Tarea que nos puede ayudar a la hora de importar datos desde diferentes archivos.
En un entrada previa explicamos qué son el WOE y el IV y por qué…
Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…
“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…
Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…
Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…
Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…
This website uses cookies.