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á:
nombre | apellido | genero |
---|---|---|
Ana | Gómez | Femenino |
Luis | Pérez | Masculino |
Carlos | Rodríguez | Masculino |
María | López | Femenino |
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:
nombre | apellido | genero |
---|---|---|
Ana | Gómez | Femenino |
Luis | Pérez | Masculino |
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:
nombre | apellido | genero |
---|---|---|
Ana | Gómez | Femenino |
Luis | Pérez | Masculino |
Carlos | Rodríguez | Masculino |
María | López | Femenino |
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:
nombre | apellido | genero |
---|---|---|
Ana | Gómez | Femenino |
Luis | Pérez | Masculino |
Carlos | Rodríguez | Masculino |
María | López | Femenino |
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:
nombre | apellido | genero |
---|---|---|
Ana | Gómez | Femenino |
Luis | Pérez | Masculino |
Carlos | Rodríguez | Masculino |
María | López | Femenino |
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.