AYUDA DE PYTHON

pyarrow (Cómo funciona para los desarrolladores)

Publicado en 13 de agosto, 2024
Compartir:

Introducción

PyArrow es una potente biblioteca que proporciona una interfaz 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 Apache Arrow Python Bindings realizado como un paquete python. PyArrow permite el intercambio eficaz de datos y la interoperabilidad entre distintos sistemas de tratamiento de datos y lenguajes de programación. Más adelante en este artículo, también aprenderemos sobreIronPDFuna biblioteca de generación de PDF desarrollada por**Software de hierro.

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 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 puede ser utilizado como backend para Pandas, permitiendo una eficiente manipulación y almacenamiento de datos. 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. Soporte para varios tipos de datos: PyArrow soporta una amplia gama de tipos de datos, incluyendo tipos primitivos(números enteros, números en coma flotante)tipos complejos(structs, listas)y tipos anidados. Esto lo hace versátil para manejar diferentes tipos de datos.

  4. Lecturas con cero copias: PyArrow permite lecturas de copia cero, lo que significa que se pueden leer datos del formato de memoria Arrow sin copiarlos. Esto reduce la sobrecarga de memoria y aumenta el rendimiento.

Instalación

Para instalarPyArrowpuede utilizarpip oconda:

pip install pyarrow

o

conda install pyarrow -c conda-forge
PYTHON

Uso básico

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

He aquí un ejemplo sencillo de cómo utilizar 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)
PYTHON

Código Explicación

El código Python utiliza PyArrow para crear una tabla(`pa.Table`) a partir de tres matrices(\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 desarrolladores): Figura 1 - Salida de la consola mostrando un objeto tabla PyArrow junto con su contenido.

Integración con Pandas

PyArrow puede integrarse perfectamente conPandas para mejorar el rendimiento, especialmente cuando se trata de 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)
PYTHON

Código Explicación

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

SALIDA

pyarrow(Cómo funciona para desarrolladores): Figura 2 - Salida de la consola mostrando un objeto tabla PyArrow generado al convertir un dataframe panda a tabla 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 PDF de Python

IronPDF es una biblioteca para Python que facilita el trabajo con archivos PDF, permitiendo tareas como la creación, edición y manipulación de documentos PDF mediante programación. Ofrece funciones comogenerar PDF a partir de HTMLañadir texto, imágenes y formas a los PDF existentes, así comoextracción de 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. Utiliza el renderizador de PDF de Chrome pararenderizar 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 se admite en.NET, Java, Pythony**Nodo.js. entornos.

Funciones de edición y firma

Mejore los documentos PDF estableciendo propiedades, añadiendo funciones de seguridad comocontraseñas y permisosyaplicación de firmas digitales.

Plantillas de página personalizadas y configuración

Con IronPDF, puede personalizar los archivos PDFencabezados, pies de página, números de páginay 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. AdmiteCodificación de caracteres UTF-8 y maneja a la perfección 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 tecnología subyacente. Por lo tanto, usted tieneTiempo de ejecución de .NET 6.0 instalado en su sistema.

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

  2. pip: Instalador de paquetes de Pythonpip para la instalación del paquete IronPDF.

    Instale las bibliotecas necesarias:

pip install pyarrow 
pip install ironpdf

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")
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 DataFrame de Pandas:

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

    • Convierte el Pandas DataFrame("df") en una tabla PyArrow("mesa") using pa.Tabla.desde_pandas() método. 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(tabla).

SALIDA

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

SALIDA PDF

pyarrow(Cómo funciona para desarrolladores): Figura 5 - PDF de salida generado usando la librería IronPDF for Python y mostrando los datos por filas de la tabla PyArrow.

Licencia IronPDF

IronPDF for 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"
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 trabaja con grandes conjuntos de datos, como si realiza manipulaciones de datos complejas o construye pipelines de procesamiento de datos, PyArrow ofrece el rendimiento y la flexibilidad necesarios para manejar estas tareas con eficacia. Por otro lado,IronPDF es una robusta biblioteca de Python que simplifica la creación, manipulación y representación de documentos PDF directamente desde aplicaciones 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 ambosPyArrow yIronPDF python, los usuarios pueden procesar estructuras de datos con facilidad y archivar los datos.

IronPDF también proporciona documentación completa para ayudar a los desarrolladores a empezar, acompañada de numerosos ejemplos de código que muestran sus potentes capacidades. Para más información, visite la páginadocumentación yejemplos de código páginas.

< ANTERIOR
crc32c Python (Cómo funciona para desarrolladores)
SIGUIENTE >
criptografía Python (Cómo funciona para desarrolladores)

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

Instalación pip gratuita Ver licencias >