Creación de DataFrames con Pandas

PandasBeginner
Practicar Ahora

Introducción

¡Bienvenido al mundo de la manipulación de datos con Pandas! Un DataFrame es una estructura de datos tabular bidimensional, mutable en tamaño y potencialmente heterogénea, con ejes etiquetados (filas y columnas). Es una de las estructuras de datos más utilizadas en el análisis de datos moderno.

En este laboratorio, aprenderá los métodos fundamentales para crear un DataFrame de Pandas. Comenzaremos creando un DataFrame a partir de un simple diccionario de Python y luego exploraremos cómo personalizar sus columnas e índice. Realizará todas las tareas dentro de la WebIDE, escribiendo y ejecutando scripts de Python.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 89%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Crear DataFrame a partir de un diccionario

En este paso, aprenderá el método más común para crear un DataFrame de Pandas: a partir de un diccionario de Python. Cuando utiliza un diccionario, las claves se convierten en los nombres de las columnas y los valores (que suelen ser listas o arrays) se convierten en los datos de esas columnas.

Primero, abra el archivo main.py desde el explorador de archivos en el lado izquierdo de su WebIDE.

Ahora, agregue el siguiente código al archivo main.py. Este código importa la biblioteca Pandas y define un diccionario con datos de estudiantes. Luego, utiliza pd.DataFrame() para convertir el diccionario en un DataFrame e imprime el resultado.

import pandas as pd

## Datos en un diccionario
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Crear DataFrame a partir del diccionario
df = pd.DataFrame(student_data)

## Imprimir el DataFrame
print(df)

Para ejecutar su script, abra una terminal en la WebIDE (Terminal -> New Terminal) y ejecute el siguiente comando. Todo su trabajo debe realizarse dentro del directorio ~/project.

python3 main.py

Debería ver la siguiente salida, que muestra los datos de su diccionario organizados de forma ordenada en una tabla con índices de fila predeterminados que comienzan desde 0.

      Name  Score
0    Alice     85
1      Bob     92
2  Charlie     78

Especificar nombres de columnas en el DataFrame

En este paso, aprenderá cómo controlar el orden de las columnas en su DataFrame. Por defecto, Pandas puede no conservar el orden de las claves de su diccionario. Puede definir explícitamente el orden de las columnas pasando una lista de nombres de columna al parámetro columns.

Modifiquemos el archivo main.py para especificar el orden de las columnas. Intercambiaremos las columnas 'Name' y 'Score'.

Actualice su archivo main.py con el siguiente código. Observe la adición del parámetro columns en la función pd.DataFrame().

import pandas as pd

## Datos en un diccionario
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Crear DataFrame y especificar el orden de las columnas
df = pd.DataFrame(student_data, columns=['Score', 'Name'])

## Imprimir el DataFrame
print(df)

Ahora, ejecute el script nuevamente en su terminal:

python3 main.py

La salida ahora mostrará la columna 'Score' primero, como usted especificó.

   Score     Name
0     85    Alice
1     92      Bob
2     78  Charlie

Añadir etiquetas de índice al DataFrame

En este paso, aprenderá a reemplazar el índice numérico predeterminado (0, 1, 2, ...) con etiquetas más significativas. Esto se hace utilizando el parámetro index, que le permite asignar un índice personalizado a cada fila.

Asignemos identificadores de estudiante únicos como índice para nuestro DataFrame. Modifique su archivo main.py para incluir una lista de etiquetas de índice.

Actualice el código en main.py de la siguiente manera:

import pandas as pd

## Datos en un diccionario
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Definir etiquetas de índice personalizadas
index_labels = ['ID1', 'ID2', 'ID3']

## Crear DataFrame con índice personalizado
df = pd.DataFrame(student_data, index=index_labels)

## Imprimir el DataFrame
print(df)

Ejecute el script desde su terminal:

python3 main.py

Ahora verá el índice numérico predeterminado reemplazado por sus etiquetas 'ID' personalizadas.

        Name  Score
ID1    Alice     85
ID2      Bob     92
ID3  Charlie     78

Acceder a las columnas del DataFrame mediante notación de punto

En este paso, aprenderá una forma conveniente de acceder a una sola columna de un DataFrame: la notación de punto. Si el nombre de una columna es un identificador válido de Python (sin espacios, no empieza con un número, etc.), puede acceder a él como un atributo del objeto DataFrame.

Utilicemos la notación de punto para seleccionar e imprimir solo la columna 'Name' de nuestro DataFrame.

Modifique su archivo main.py para acceder a la columna Name e imprimirla.

import pandas as pd

## Datos en un diccionario
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Crear DataFrame
df = pd.DataFrame(student_data)

## Acceder e imprimir la columna 'Name' mediante notación de punto
print(df.Name)

Ejecute el script en su terminal:

python3 main.py

La salida será una Serie de Pandas, que es esencialmente una sola columna de un DataFrame.

0      Alice
1        Bob
2    Charlie
Name: Name, dtype: object

Mostrar información del DataFrame usando el método info

En este paso, aprenderá a usar el método .info(). Esta es una función esencial que proporciona un resumen conciso de un DataFrame, incluyendo los tipos de datos de cada columna, el número de valores no nulos y el uso de memoria. Es un excelente primer paso al explorar un nuevo conjunto de datos.

Apliquemos el método .info() a nuestro DataFrame de estudiantes.

Modifique el archivo main.py para llamar a este método. Tenga en cuenta que .info() imprime el resumen directamente, por lo que no necesita envolverlo en una función print().

import pandas as pd

## Datos en un diccionario
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Crear DataFrame
df = pd.DataFrame(student_data)

## Mostrar un resumen del DataFrame
df.info()

Ejecute el script desde su terminal:

python3 main.py

La salida le proporciona una descripción detallada de la estructura y el contenido de su DataFrame.

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
 ##   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   Name    3 non-null      object
 1   Score   3 non-null      int64
dtypes: int64(1), object(1)
memory usage: 176.0+ bytes

Resumen

¡Felicitaciones por completar este laboratorio! Ha aprendido las técnicas fundamentales para crear e inspeccionar DataFrames de Pandas.

En este laboratorio, ha dominado:

  • La creación de un DataFrame a partir de un diccionario de Python.
  • La especificación y reordenación de columnas utilizando el parámetro columns.
  • La asignación de etiquetas de fila personalizadas utilizando el parámetro index.
  • El acceso a una columna específica mediante la conveniente notación de punto.
  • La obtención de un resumen conciso de la estructura de un DataFrame con el método .info().

Estas habilidades son los primeros pasos esenciales para cualquier tarea de análisis de datos utilizando Pandas. Ahora está bien equipado para comenzar a crear sus propios conjuntos de datos para una mayor exploración.