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.
Tienes dos grupos de datos y quieres saber si son estadísticamente distintos. O tienes una…
A primera vista, tuplas y listas son casi idénticas. Ambas guardan colecciones ordenadas de elementos.…
"Nuestros datos no tienen buena calidad." Escuchas esto constantemente en reuniones. El problema es que…
El artículo Data Leakage en Credit Scoring explicó por qué este es el error más…
Antes de aplicar muchos tests estadísticos clásicos (el t-test, el ANOVA, la regresión lineal) aparece…
Si acabas de montar tu aplicación en Docker Compose, la primera pregunta que haces cada…
This website uses cookies.