AYUDA DE PYTHON

pyarrow (Cómo funciona para los desarrolladores)

Introducción

PyArrow es una biblioteca poderosa que proporciona una interfaz en Python para el framework Apache Arrow. Apache Arrow es una plataforma de desarrollo multilingüe para datos en memoria. Especifica un formato de memoria columnar estandarizado e independiente del lenguaje para datos planos y jerárquicos, organizado para operaciones analíticas eficientes en hardware moderno.PyArrow es básicamente la vinculación de Python con Apache Arrow, realizada como un paquete de Python. PyArrow permite un intercambio de datos eficiente e interoperabilidad entre diferentes sistemas de procesamiento de datos y lenguajes de programación. Más adelante en este artículo, también aprenderemos sobre IronPDF, una biblioteca de generación de PDF desarrollada por Iron Software.

Características principales de PyArrow

  1. Formato de Memoria Columnar:

    PyArrow utiliza un formato de memoria en columnas, que es muy eficiente para las operaciones de análisis en memoria. Este formato permite una mejor utilización de la caché de la CPU y operaciones vectorizadas, por lo que es ideal para tareas de procesamiento de datos. PyArrow puede leer y escribir eficientemente estructuras de archivos parquet debido a su naturaleza columnar.

  1. Interoperabilidad: Una de las principales ventajas de PyArrow es su capacidad para facilitar el intercambio de datos entre diferentes lenguajes de programación y sistemas sin la necesidad de serialización o deserialización. Esto resulta especialmente útil en entornos en los que se utilizan varios lenguajes, como la ciencia de datos y el aprendizaje automático.

  2. Integración con Pandas: PyArrow se puede usar como backend para Pandas, lo que permite una manipulación y almacenamiento de datos eficientes. A partir de Pandas 2.0, es posible almacenar datos en arrays Arrow en lugar de arrays NumPy, lo que puede suponer mejoras en el rendimiento, especialmente cuando se trata de datos de cadenas.

  3. Compatibilidad con diversos tipos de datos: PyArrow admite una amplia gama de tipos de datos, incluyendo tipos primitivos (enteros, números de punto flotante), tipos complejos (estructuras, listas) y tipos anidados. Esto lo hace versátil para manejar diferentes tipos de datos.

  4. Lecturas Zero-Copy: PyArrow permite lecturas zero-copy, lo que significa que los datos pueden leerse del formato de memoria Arrow sin copiarlos. Esto reduce la sobrecarga de memoria y aumenta el rendimiento.

Instalación

Para instalar PyArrow, puedes utilizar pip o conda:

pip install pyarrow
pip install pyarrow
SHELL

o

conda install pyarrow -c conda-forge
py
PYTHON

Uso básico

Estamos utilizando Visual Studio Code como editor de código. Comienza creando un nuevo archivo, pyarrowDemo.py.

A continuación, se muestra un ejemplo sencillo de cómo usar PyArrow para crear una tabla y realizar algunas operaciones básicas:

import pyarrow as pa
import pyarrow.dataset as pt
# Create a PyArrow table
data = [
    pa.array([1, 2, 3]),
    pa.array(['a', 'b', 'c']),
    pa.array([1.1, 2.2, 3.3])
]
table = pa.Table.from_arrays(data, names=['col1', 'col2', 'col3'])
# Display the table
print(table)
py
PYTHON

Código Explicación

El código en Python utiliza PyArrow para crear una tabla (pa.Table) a partir de tres arreglos (pa.array). A continuación, imprime la tabla, mostrando columnas denominadas "col1", "col2" y "col3", cada una de las cuales contiene los datos correspondientes de enteros, cadenas y flotantes.

SALIDA

pyarrow (cómo funciona para los desarrolladores): Figura 1 - Salida de consola que muestra un objeto de tabla PyArrow junto con su contenido.

Integración con Pandas

PyArrow se puede integrar sin problemas con Pandas para mejorar el rendimiento, especialmente al trabajar con grandes conjuntos de datos. Aquí tienes un ejemplo de conversión de un DataFrame de Pandas a una Tabla PyArrow:

import pandas as pd
import pyarrow as pa
# Create a Pandas DataFrame
df = pd.DataFrame({
    'col1': [1, 2, 3],
    'col2': ['a', 'b', 'c'],
    'col3': [1.1, 2.2, 3.3]
})
# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)
# Display the table
print(table)
py
PYTHON

Código Explicación

El código de Python convierte un DataFrame de Pandas en una tabla de PyArrow (`pa.Table`) y luego imprime la tabla. El DataFrame consta de tres columnas (col1, col2, col3) con datos de tipo entero, cadena y flotante.

SALIDA

pyarrow (Cómo funciona para los desarrolladores): Figura 2 - Salida de consola que muestra un objeto de tabla de PyArrow generado al convertir un dataframe de panda en una tabla de PyArrow.

Funciones avanzadas

1. Formatos de archivo

PyArrow soporta la lectura y escritura de varios formatos de archivo como Parquet y Feather. Estos formatos están optimizados para el rendimiento y se utilizan ampliamente en las cadenas de procesamiento de datos.

2. Asignación de memoria

PyArrow soporta el acceso a archivos mapeados en memoria, lo que permite una lectura y escritura eficiente de grandes conjuntos de datos sin necesidad de cargar todo el conjunto de datos en memoria.

3. Comunicación entre procesos

PyArrow proporciona herramientas para la comunicación entre procesos, lo que permite compartir datos de forma eficiente entre diferentes procesos.

Presentación de IronPDF

pyarrow (Cómo funciona para desarrolladores): Figura 3 - IronPDF for Python: La biblioteca de PDF para Python

IronPDF es una biblioteca para Python que facilita el trabajo con archivos PDF, permitiendo realizar tareas como crear, editar y manipular documentos PDF de forma programática. Ofrece funciones como generar PDFs a partir de HTML, agregar texto, imágenes y formas a PDFs existentes, así como extraer texto e imágenes de archivos PDF. Estas son algunas de las principales características

Generación de PDF a partir de HTML

IronPDF puede convertir fácilmente archivos HTML, cadenas HTML y URL en documentos PDF. Utilice el renderizador PDF de Chrome para renderizar páginas web directamente en formato PDF.

Compatibilidad multiplataforma

IronPDF es compatible con Python 3+ y funciona sin problemas en Windows, Mac, Linux y plataformas en la nube. También es compatible con .NET, Java, Python, y Node.js. entornos.

Funciones de edición y firma

Mejore documentos PDF estableciendo propiedades, agregando funciones de seguridad como contraseñas y permisos, y aplicando firmas digitales.

Plantillas de página personalizadas y configuración

Con IronPDF, puedes personalizar PDFs con encabezados, pies de página, números de página y márgenes ajustables. Admite diseños adaptables y permite establecer tamaños de papel personalizados.

Cumplimiento de las normas

IronPDF cumple los estándares PDF, incluidos PDF/A y PDF/UA. Admite codificación de caracteres UTF-8 y maneja sin problemas activos como imágenes, estilos CSS y fuentes.

Generar documentos PDF con IronPDF y PyArrow

Requisitos previos de IronPDF

  1. IronPDF utiliza .NET 6.0 como su tecnología subyacente. Así que tienes el .NET 6.0 runtime instalado en tu sistema.

  2. Python 3.0+: Necesita tener instalada la versión 3 o posterior de Python.

  3. pip: Instala el instalador de paquetes de Python pip para la instalación del paquete IronPDF.

    Instale las bibliotecas necesarias:

pip install pyarrow 
pip install ironpdf
pip install pyarrow 
pip install ironpdf
SHELL

A continuación, añada el siguiente código para demostrar el uso de los paquetes IronPDF y pyarrow python

import pandas as pd
import pyarrow as pa
from ironpdf import * 
# Apply your license key
License.LicenseKey = "license"
# Create a Pandas DataFrame
df = pd.DataFrame({
    'col1': [1, 2, 3],
    'col2': ['a', 'b', 'c'],
    'col3': [1.1, 2.2, 3.3]
})
# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)
# Display the table
print(table)
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with pyarrow</h1>"
content += "<p>table data</p>"
for row in table:
    # Access specific values in a row
    value_in_column1 = row[0]
    value_in_column2 = row[1]
    value_in_column3 = row[2]
    content += "<p>"+str(value_in_column1)+","+str(value_in_column2)+","+str(value_in_column3)+"</p>"    
pdf = renderer.RenderHtmlAsPdf(content)    
    # Export to a file or Stream
pdf.SaveAs("DemoPyarrow.pdf")
py
PYTHON

Código Explicación

El script demuestra la integración de las librerías Pandas, PyArrow y IronPDF para crear un documento PDF a partir de datos almacenados en un DataFrame de Pandas:

  1. Creación de Pandas DataFrame:

    • Crea un DataFrame de Pandas (df) con tres columnas (col1, col2, col3) que contengan datos numéricos y de cadena de texto.
  2. Conversión a PyArrow Table:

    • Convierte el DataFrame de Pandas ("df") en una Tabla de PyArrow ("table") utilizando el método pa.Table.from_pandas(). Esta conversión facilita el tratamiento eficaz de los datos y la interoperabilidad con las aplicaciones basadas en Arrow.
  3. Generación de PDF con IronPDF:

    • Utiliza el ChromePdfRenderer de IronPDF y llama a su método RenderHtmlAsPdf para generar un documento PDF (DemoPyarrow.pdf) a partir de una cadena HTML (contenido), que incluye cabeceras y datos extraídos de la tabla PyArrow (table).

SALIDA

pyarrow (Cómo funciona para desarrolladores): Figura 4 - Salida de consola que muestra un objeto de tabla PyArrow generado al convertir un dataframe de panda a tabla PyArrow.

SALIDA PDF

pyarrow (Cómo Funciona Para Desarrolladores): Figura 5 - PDF de salida generado utilizando la biblioteca IronPDF para Python y mostrando los datos por filas de la tabla PyArrow.

Licencia IronPDF

IronPDF Python.

Coloque la clave de licencia al inicio del script antes de utilizar el paquete IronPDF:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
py
PYTHON

Conclusión

PyArrow es una biblioteca versátil y potente que mejora las capacidades de Python para tareas de procesamiento de datos. Su eficiente formato de memoria, sus funciones de interoperabilidad y su integración con Pandas lo convierten en una herramienta esencial para los científicos e ingenieros de datos. Tanto si está trabajando con grandes conjuntos de datos, realizando manipulaciones de datos complejas o construyendo canales de procesamiento de datos, PyArrow ofrece el rendimiento y la flexibilidad necesarios para gestionar estas tareas de manera efectiva. Por otro lado, IronPDF es una robusta biblioteca de Python que simplifica la creación, manipulación y renderización de documentos PDF directamente desde aplicaciones de Python. Se integra a la perfección con los marcos de trabajo de Python existentes, lo que permite a los desarrolladores generar y personalizar PDF de forma dinámica. Junto con los paquetes de Python PyArrow y IronPDF, los usuarios pueden procesar estructuras de datos con facilidad y archivar los datos.

IronPDF también ofrece documentación completa para ayudar a los desarrolladores a comenzar, acompañada de numerosos ejemplos de código que muestran sus potentes capacidades. Para más detalles, visite las páginas de documentación y ejemplos de código.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
crc32c Python (Cómo funciona para desarrolladores)
SIGUIENTE >
criptografía Python (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2025.5 acaba de salir

Ver licencias >