Pandas
Tutorial Pandas: Entrada de datos externos y salida de datos con Pandas
Pandas: Aprende a cargar y exportar datos en CSV, Excel, SQL, JSON, Parquet, API y HTML. Optimiza tu trabajo con DataFrames.
Formas de cargar datos externos en Pandas
Pandas proporciona múltiples métodos para cargar datos externos en un DataFrame.
A continuación, se detallan las formas más comunes y recomendadas según la documentación oficial de Pandas:
- Cargar datos desde un archivo CSV: Pandas incluye la función
read_csv()
para leer archivos CSV. Es posible especificar parámetros como el delimitador, la codificación, las columnas a utilizar, entre otros.
import pandas as pd
df = pd.read_csv('ruta/al/archivo.csv', delimiter=',', encoding='utf-8')
Al leer un archivo CSV que contiene caracteres especiales, el parámetro encoding
de la función read_csv()
permite especificar la codificación de caracteres, garantizando así una correcta interpretación de los datos. Algunas codificaciones comunes son:
'utf-8'
: Codificación universal que soporta la mayoría de los caracteres.'latin-1'
: También conocida como ISO-8859-1, es común en archivos generados en sistemas europeos.'ascii'
: Codificación básica que solo soporta caracteres en inglés.'windows-1252'
: Codificación de Windows utilizada en documentos de Microsoft.
- Cargar datos desde un archivo Excel: Con
read_excel()
, Pandas permite leer datos desde archivos Excel. Es posible seleccionar hojas específicas y manejar diferentes formatos de archivo (xls, xlsx). Es posible seleccionar hojas específicas utilizando el parámetrosheet_name
, el cual acepta tanto el nombre de la hoja (como una cadena de texto) como su índice (un número entero donde 0 es la primera hoja). Si un archivo Excel contiene múltiples hojas, puedes cargar varias hojas al mismo tiempo especificando una lista de nombres de hojas o utilizar el valorNone
para cargar todas las hojas en un diccionario de DataFrames.
df = pd.read_excel('ruta/al/archivo.xlsx', sheet_name='Hoja1')
- Cargar datos desde una base de datos SQL: Pandas ofrece la función
read_sql()
para ejecutar consultas SQL directamente y cargar los resultados en un DataFrame. Es necesario tener una conexión establecida con la base de datos.
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://usuario:contraseña@localhost/nombre_base_datos')
df = pd.read_sql('SELECT * FROM tabla', con=engine)
- Cargar datos desde un archivo JSON: La función
read_json()
permite cargar datos desde un archivo JSON. Es posible especificar el tipo de orientación de los datos, como'records'
o'index'
. La orientación por defecto es'records'
, que organiza los datos como una lista de registros.
df = pd.read_json('ruta/al/archivo.json', orient='records')
- Cargar datos desde un archivo Parquet: Con
read_parquet()
, Pandas facilita la lectura de archivos Parquet, que son eficientes en términos de almacenamiento y velocidad de lectura.
df = pd.read_parquet('ruta/al/archivo.parquet')
- Cargar datos desde una API web: Pandas puede manejar la respuesta de una API web utilizando la biblioteca
requests
. Los datos JSON obtenidos pueden ser convertidos en un DataFrame.
import requests
response = requests.get('https://api.ejemplo.com/data')
data_json = response.json()
df = pd.DataFrame(data_json)
- Cargar datos desde una tabla HTML: Utilizando
read_html()
, Pandas puede extraer tablas de datos directamente desde una página web. Esta función devuelve una lista de DataFrames, uno por cada tabla encontrada.
url = 'https://www.ejemplo.com/tables.html'
dfs = pd.read_html(url)
df = dfs[0] # Asumiendo que se necesita la primera tabla
Cada uno de estos métodos ofrece múltiples parámetros adicionales para personalizar la carga de datos según las necesidades específicas del proyecto. La elección del método adecuado depende del formato de los datos de origen y de los requisitos de procesamiento posteriores.
Formas de exportar un DataFrame
Pandas proporciona diversas funcionalidades para exportar un DataFrame a diferentes formatos de archivo, lo que facilita la integración con otras aplicaciones y sistemas. A continuación, se describen las formas más comunes y recomendadas para exportar un DataFrame según la documentación oficial de Pandas en 2024:
- Exportar a un archivo CSV: Utilizando la función
to_csv()
, se puede exportar un DataFrame a un archivo CSV. Es posible especificar parámetros como el delimitador, la codificación y si se desea incluir el índice. Por defecto, Pandas exporta el índice del DataFrame, pero si no deseas incluirlo en el archivo, debes establecer el parámetroindex
enFalse
.
import pandas as pd
# Crear un DataFrame de ejemplo
df = pd.DataFrame({
'Columna1': [1, 2, 3],
'Columna2': ['A', 'B', 'C']
})
# Exportar a CSV sin incluir el índice
df.to_csv('ruta/al/archivo.csv', sep=',', encoding='utf-8', index=False)
- Exportar a un archivo Excel: La función
to_excel()
permite exportar un DataFrame a un archivo Excel. Se pueden especificar la hoja de destino y otros parámetros como la inclusión del índice.
# Exportar a Excel
df.to_excel('ruta/al/archivo.xlsx', sheet_name='Hoja1', index=False)
Nota: Para exportar a archivos Excel en formato .xlsx
, es necesario tener instalada la librería openpyxl
, ya que Pandas utiliza esta librería como motor subyacente para manejar archivos Excel. Si al intentar exportar un DataFrame a Excel recibes un error indicando que no se encuentra el módulo openpyxl
, puedes solucionarlo instalando la librería con el siguiente comando:
pip install openpyxl
- Exportar a una base de datos SQL: Con
to_sql()
, es posible escribir un DataFrame en una tabla de una base de datos SQL. Es necesario establecer una conexión con la base de datos.
from sqlalchemy import create_engine
# Crear una conexión a la base de datos
engine = create_engine('mysql+pymysql://usuario:contraseña@localhost/nombre_base_datos')
# Exportar a SQL
df.to_sql('nombre_tabla', con=engine, if_exists='replace', index=False)
- Exportar a un archivo JSON: Utilizando la función
to_json()
, se puede exportar un DataFrame a un archivo JSON. Es posible especificar la orientación de los datos, como 'records' o 'index'.
# Exportar a JSON
df.to_json('ruta/al/archivo.json', orient='records')
- Exportar a un archivo Parquet: La función
to_parquet()
permite exportar un DataFrame a un archivo Parquet, que es eficiente en términos de almacenamiento y velocidad de lectura.
# Exportar a Parquet
df.to_parquet('ruta/al/archivo.parquet')
- Exportar a HTML: Con
to_html()
, se puede convertir un DataFrame en una tabla HTML, lo que facilita la visualización de datos en páginas web.
# Exportar a HTML
df.to_html('ruta/al/archivo.html', index=False)
- Exportar a un archivo HDF5: Utilizando la función
to_hdf()
, es posible exportar un DataFrame a un archivo HDF5, adecuado para grandes volúmenes de datos.
# Exportar a HDF5
df.to_hdf('ruta/al/archivo.h5', key='df', mode='w')
Nota: Para exportar a archivos HDF5, es necesario tener instalada la librería PyTables
(tables
). Si al intentar exportar un DataFrame a HDF5 recibes un error indicando que falta la dependencia PyTables
, puedes solucionarlo instalando la librería con el siguiente comando:
pip install tables
Cada uno de estos métodos ofrece múltiples parámetros adicionales para personalizar la exportación de datos según las necesidades específicas del proyecto. La elección del método adecuado depende del formato de destino y de los requisitos de integración con otras herramientas y sistemas.
Ejercicios de esta lección Entrada de datos externos y salida de datos con Pandas
Evalúa tus conocimientos de esta lección Entrada de datos externos y salida de datos con Pandas con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Evaluación código Conocimiento general de Pandas
Introducción e instalación de pandas
Operaciones de filtrado, búsqueda y ordenación
Operaciones de cadena de texto y categóricas
Tratamiento de valores faltantes
Manipulación de DataFrames
Codificación de variables categóricas a numéricas
Tipos de datos en DataFrames
Identificar y corregir errores y duplicados
Operaciones matemáticas y estadísticas
Evaluación multirespuesta Conocimiento general de Pandas
Integración de Pandas con Matplotlib
Operaciones con fechas
Entrada de datos externos y salida de datos con Pandas
Identificar y corregir outliers
Series
Integración de Pandas con Seaborn
Operaciones de conjuntos
Identificación de valores faltantes
DataFrames
Todas las lecciones de Pandas
Accede a todas las lecciones de Pandas y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción E Instalación De Pandas
Introducción Y Entorno
Series
Estructuras De Datos
Dataframes
Estructuras De Datos
Tipos De Datos En Dataframes
Estructuras De Datos
Manipulación De Dataframes
Manipulación De Datos
Operaciones De Filtrado, Búsqueda Y Ordenación
Manipulación De Datos
Operaciones De Cadena De Texto Y Categóricas
Manipulación De Datos
Operaciones Matemáticas Y Estadísticas
Manipulación De Datos
Operaciones Con Fechas
Manipulación De Datos
Operaciones De Conjuntos
Manipulación De Datos
Identificación De Valores Faltantes
Limpieza Y Preparación De Datos
Tratamiento De Valores Faltantes
Limpieza Y Preparación De Datos
Identificar Y Corregir Errores Y Duplicados
Limpieza Y Preparación De Datos
Identificar Y Corregir Outliers
Limpieza Y Preparación De Datos
Codificación De Variables Categóricas A Numéricas
Limpieza Y Preparación De Datos
Entrada De Datos Externos Y Salida De Datos Con Pandas
Integraciones
Integración De Pandas Con Matplotlib
Integraciones
Integración De Pandas Con Seaborn
Integraciones
Evaluación Multirespuesta Conocimiento General De Pandas
Evaluación Pandas
Evaluación Código Conocimiento General De Pandas
Evaluación Pandas
Certificados de superación de Pandas
Supera todos los ejercicios de programación del curso de Pandas y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
Cargar datos desde archivos CSV en Pandas.
Leer datos desde archivos Excel.
Conectar y extraer datos desde bases de datos SQL.
Cargar datos desde archivos JSON y Parquet.
Obtener datos desde APIs web y tablas HTML.
Exportar DataFrames a múltiples formatos como CSV, Excel, SQL, JSON, Parquet, HTML y HDF5.
Configurar parámetros adicionales para la personalización de carga y exportación de datos.