¿Cómo crear un dataframe en Python?

Contenido del Bootcamp Dirigido por: | Última modificación: 22 de mayo de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Si estás empezando con Python y te interesa el análisis de datos, una de las herramientas más útiles que vas a encontrar es Pandas. En este artículo, te explicaré cómo crear un dataframe en Python utilizando esta poderosa librería. Vamos a ver diferentes métodos y ejemplos prácticos que te ayudarán a dominar esta técnica esencial para cualquier analista de datos.

¿Qué es un DataFrame?

Un DataFrame es una estructura de datos bidimensional, similar a una hoja de cálculo o una tabla en una base de datos. Está compuesto por filas y columnas, donde cada columna puede contener datos de diferentes tipos (numéricos, cadenas de texto, booleanos, etc.). En Python, el DataFrame es una de las estructuras fundamentales de la librería Pandas.

Importar la librería Pandas

Antes de empezar a crear dataframes, necesitas importar la librería Pandas. Puedes hacerlo con la siguiente línea de código:

#crear un dataframe en Python
import pandas as pd

Ahora, vamos a ver las diferentes formas de crear un DataFrame en Python.

Crear un dataframe en Python vacío

Crear un DataFrame vacío es muy sencillo. Solo necesitas usar el constructor DataFrame de Pandas sin pasarle ningún parámetro:

#crear un dataframe en Python
import pandas as pd

# Crear un DataFrame vacío
df_vacio = pd.DataFrame()
print(df_vacio)

Este código te dará como resultado un DataFrame sin columnas ni índices:

#crear un dataframe en Python
Empty DataFrame
Columns: []
Index: []

Agregar datos a un DataFrame vacío

Puedes agregar datos a un DataFrame vacío asignando valores a nuevas columnas. Por ejemplo, vamos a crear un DataFrame con nombres, apellidos y géneros:

#crear un dataframe en Python
df_vacio['nombre'] = ['Ana', 'Luis', 'Carlos', 'María']
df_vacio['apellido'] = ['Gómez', 'Pérez', 'Rodríguez', 'López']
df_vacio['genero'] = ['Femenino', 'Masculino', 'Masculino', 'Femenino']

print(df_vacio)

El resultado será:

nombreapellidogenero
AnaGómezFemenino
LuisPérezMasculino
CarlosRodríguezMasculino
MaríaLópezFemenino

Crear un DataFrame con columnas definidas

En muchos casos, querrás definir las columnas de tu DataFrame desde el principio. Esto lo puedes hacer pasando una lista de nombres de columnas al constructor:

#crear un dataframe en Python
df_columnas = pd.DataFrame(columns=['nombre', 'apellido', 'genero'])
print(df_columnas)

Resultado:

Empty DataFrame
Columns: [nombre, apellido, genero]
Index: []

Para agregar filas a este DataFrame, puedes usar el método append:

#crear un dataframe en Python
df_columnas = df_columnas.append({'nombre': 'Ana', 'apellido': 'Gómez', 'genero': 'Femenino'}, ignore_index=True)
df_columnas = df_columnas.append({'nombre': 'Luis', 'apellido': 'Pérez', 'genero': 'Masculino'}, ignore_index=True)

print(df_columnas)

El resultado:

nombreapellidogenero
AnaGómezFemenino
LuisPérezMasculino

Crear un DataFrame con datos iniciales

Puedes crear un DataFrame directamente con datos iniciales utilizando un diccionario. Cada clave del diccionario será el nombre de una columna y el valor será una lista con los datos de esa columna:

#crear un dataframe en Python
data = {
    'nombre': ['Ana', 'Luis', 'Carlos', 'María'],
    'apellido': ['Gómez', 'Pérez', 'Rodríguez', 'López'],
    'genero': ['Femenino', 'Masculino', 'Masculino', 'Femenino']
}

df = pd.DataFrame(data)
print(df)

Resultado:

nombreapellidogenero
AnaGómezFemenino
LuisPérezMasculino
CarlosRodríguezMasculino
MaríaLópezFemenino

Crear un DataFrame a partir de una lista de listas

Otra forma de crear un DataFrame es a partir de una lista de listas, especificando los nombres de las columnas:

#crear un dataframe en Python
data = [
    ['Ana', 'Gómez', 'Femenino'],
    ['Luis', 'Pérez', 'Masculino'],
    ['Carlos', 'Rodríguez', 'Masculino'],
    ['María', 'López', 'Femenino']
]

df_listas = pd.DataFrame(data, columns=['nombre', 'apellido', 'genero'])
print(df_listas)

Resultado:

nombreapellidogenero
AnaGómezFemenino
LuisPérezMasculino
CarlosRodríguezMasculino
MaríaLópezFemenino

Crear un DataFrame a partir de una lista de diccionarios

También puedes crear un DataFrame a partir de una lista de diccionarios. Cada diccionario representa una fila del DataFrame:

#crear un dataframe en Python
data = [
    {'nombre': 'Ana', 'apellido': 'Gómez', 'genero': 'Femenino'},
    {'nombre': 'Luis', 'apellido': 'Pérez', 'genero': 'Masculino'},
    {'nombre': 'Carlos', 'apellido': 'Rodríguez', 'genero': 'Masculino'},
    {'nombre': 'María', 'apellido': 'López', 'genero': 'Femenino'}
]

df_diccionarios = pd.DataFrame(data)
print(df_diccionarios)

Resultado:

nombreapellidogenero
AnaGómezFemenino
LuisPérezMasculino
CarlosRodríguezMasculino
MaríaLópezFemenino

Como puedes ver, crear un dataframe en Python es una tarea sencilla y flexible gracias a la librería Pandas. Ya sea que partas de un DataFrame vacío o que utilices datos iniciales, Pandas te ofrece múltiples formas de estructurar y manipular tus datos de manera eficiente.

Si te ha gustado este artículo y quieres aprender más sobre análisis de datos y programación en Python, ¡apúntate al Bootcamp en big data de KeepCoding! En nuestro Bootcamp, aprenderás desde los fundamentos hasta técnicas avanzadas que te permitirán transformar tu carrera y entrar en el apasionante mundo de la tecnología. No dejes pasar esta oportunidad de cambiar tu vida y unirte a una industria en constante crecimiento con excelentes oportunidades laborales.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado