AIDE PYTHON

pyarrow (Comment ça marche pour les développeurs)

Introduction

PyArrow est une bibliothèque puissante qui offre une interface Python au framework Apache Arrow. Apache Arrow est une plateforme de développement multilingue pour les données en mémoire. Il spécifie un format de mémoire en colonnes standardisé et indépendant du langage pour les données plates et hiérarchiques, organisé pour des opérations analytiques efficaces sur le matériel moderne. PyArrow est essentiellement les liaisons Python d'Apache Arrow réalisées sous forme de package Python. PyArrow permet un échange de données efficace et une interopérabilité entre différents systèmes de traitement de données et langages de programmation. Plus tard dans cet article, nous allons également apprendre à connaître IronPDF, une bibliothèque de génération de PDF développée par Iron Software.

Principales caractéristiques de PyArrow

  1. Format de mémoire en colonne :

    PyArrow utilise un format de mémoire en colonnes, qui est très efficace pour les opérations d'analyse en mémoire. Ce format permet une meilleure utilisation du cache de l'unité centrale et des opérations vectorisées, ce qui le rend idéal pour les tâches de traitement de données. PyArrow peut lire et écrire efficacement des structures de fichiers parquet en raison de leur nature colonnaire.

  1. Interopérabilité : Un des principaux avantages de PyArrow est sa capacité à faciliter l'échange de données entre différents langages de programmation et systèmes sans nécessiter de sérialisation ou de désérialisation. Ceci est particulièrement utile dans les environnements où plusieurs langages sont utilisés, tels que la science des données et l'apprentissage automatique.

  2. Intégration avec Pandas : PyArrow peut être utilisé comme backend pour Pandas, permettant une manipulation et un stockage efficaces des données. Depuis Pandas 2.0, il est possible de stocker les données dans des tableaux Arrow au lieu de tableaux NumPy, ce qui peut améliorer les performances, en particulier lorsqu'il s'agit de données de type chaîne de caractères.

  3. Prise en charge de divers types de données : PyArrow prend en charge un large éventail de types de données, y compris les types primitifs (entiers, nombres à virgule flottante), les types complexes (structures, listes) et les types imbriqués. Cela le rend polyvalent pour gérer différents types de données.

  4. Lectures zéro-copie : PyArrow permet des lectures zéro-copie, ce qui signifie que les données peuvent être lues depuis le format mémoire Arrow sans être copiées. Cela permet de réduire l'encombrement de la mémoire et d'augmenter les performances.

Installation

Pour installer PyArrow, vous pouvez utiliser soit pip, soit conda :

pip install pyarrow
pip install pyarrow
SHELL

ou

conda install pyarrow -c conda-forge
py
PYTHON

Utilisation de base

Nous utilisons Visual Studio Code comme éditeur de code. Commencez par créer un nouveau fichier, pyarrowDemo.py.

Voici un exemple simple d'utilisation de PyArrow pour créer une table et effectuer certaines opérations de base :

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

Explication du code

Le code Python utilise PyArrow pour créer une table (`pa.Table`) à partir de trois tableaux (`pa.array`). Il imprime ensuite le tableau, en affichant des colonnes nommées "col1", "col2" et "col3", chacune contenant des données correspondantes sous forme d'entiers, de chaînes de caractères et de nombres flottants.

SORTIE

pyarrow (Comment cela fonctionne pour les développeurs) : Figure 1 - Sortie de console affichant un objet table PyArrow avec son contenu.

Intégration avec Pandas

PyArrow peut être intégré sans problème avec Pandas pour améliorer les performances, notamment lors de la gestion de grands ensembles de données. Voici un exemple de conversion d'un DataFrame Pandas en tableau 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

Explication du code

Le code Python convertit un DataFrame Pandas en une table PyArrow (`pa.Table`) puis affiche la table. Le DataFrame se compose de trois colonnes (`col1`, `col2`, `col3`) contenant des données de type entier, chaîne de caractères et flottant.

SORTIE

pyarrow (Comment ça fonctionne pour les développeurs) : Figure 2 - Sortie console affichant un objet table PyArrow généré en convertissant un dataframe panda en table PyArrow.

Fonctionnalités avancées

1. Formats de fichiers

PyArrow prend en charge la lecture et l'écriture de divers formats de fichiers tels que Parquet et Feather. Ces formats sont optimisés pour la performance et sont largement utilisés dans les pipelines de traitement de données.

2. Cartographie de la mémoire

PyArrow prend en charge l'accès aux fichiers en mémoire, ce qui permet de lire et d'écrire efficacement de grands ensembles de données sans avoir à charger l'ensemble des données en mémoire.

3. Communication interprocessus

PyArrow fournit des outils pour la communication interprocessus, permettant un partage efficace des données entre différents processus.

Présentation d'IronPDF

pyarrow (Comment cela fonctionne pour les développeurs) : Figure 3 - IronPDF for Python : La bibliothèque PDF pour Python

IronPDF est une bibliothèque pour Python qui facilite le travail avec des fichiers PDF, permettant des tâches telles que la création, l’édition et la manipulation de documents PDF de manière programmatique. Il offre des fonctionnalités telles que la génération de PDFs à partir du HTML, l'ajout de texte, d'images et de formes aux PDFs existants, ainsi que l'extraction de texte et d'images à partir de fichiers PDF. Voici quelques-unes des principales caractéristiques

Génération de PDF à partir de HTML

IronPDF peut facilement convertir des fichiers HTML, des chaînes HTML et des URL en documents PDF. Utilisez le renderer PDF de Chrome pour rendre des pages web directement au format PDF.

Compatibilité multiplateforme

IronPDF est compatible avec Python 3+ et fonctionne de manière transparente sur les plateformes Windows, Mac, Linux et Cloud. Il est également pris en charge dans .NET, Java, Python, et Node.js. environnements.

Capacités d'édition et de signature

Améliorez les documents PDF en définissant des propriétés, en ajoutant des fonctionnalités de sécurité comme les mots de passe et les autorisations, et en appliquant des signatures numériques.

Modèles de page et paramètres personnalisés

Avec IronPDF, vous pouvez personnaliser les PDF avec des en-têtes, pieds de page personnalisables, des numéros de page, et des marges ajustables. Il prend en charge les mises en page réactives et permet de définir des formats de papier personnalisés.

Respect des normes

IronPDF est conforme aux normes PDF, notamment PDF/A et PDF/UA. Prend en charge l'encodage de caractères UTF-8 et gère parfaitement les ressources telles que les images, les styles CSS et les polices.

Générer des documents PDF avec IronPDF et PyArrow

Conditions préalables pour IronPDF

  1. IronPDF utilise .NET 6.0 comme technologie sous-jacente. Donc, vous avez le runtime .NET 6.0 installé sur votre système.

  2. Python 3.0+ : Vous devez avoir installé la version 3 de Python ou une version ultérieure.

  3. pip : Installez l'installateur de packages Python pip pour l'installation du package IronPDF.

    Installer les bibliothèques nécessaires :

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

Ajoutez ensuite le code ci-dessous pour démontrer l'utilisation des paquets python IronPDF et pyarrow

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

Explication du code

Le script démontre l'intégration des bibliothèques Pandas, PyArrow et IronPDF pour créer un document PDF à partir de données stockées dans un DataFrame Pandas :

  1. Création de DataFrame Pandas :

    • Créez un DataFrame Pandas (df) avec trois colonnes (col1, col2, col3) contenant des données numériques et textuelles.
  2. Conversion en tableau PyArrow :

    • Convertit le Pandas DataFrame ("df") en une table PyArrow ("table") en utilisant la méthode pa.Table.from_pandas(). Cette conversion facilite le traitement efficace des données et l'interopérabilité avec les applications basées sur Arrow.
  3. Génération de PDF avec IronPDF :

    • Utilise le ChromePdfRenderer d'IronPDF et appelle sa méthode RenderHtmlAsPdf pour générer un document PDF (DemoPyarrow.pdf) à partir d'une chaîne HTML (content), qui comprend des en-têtes et des données extraites de la Table PyArrow (table).

SORTIE

pyarrow (Comment cela fonctionne pour les développeurs) : Figure 4 - Sortie console affichant un objet table PyArrow généré en convertissant un dataframe panda en table PyArrow.

PDF DE SORTIE

pyarrow (Comment ça fonctionne pour les développeurs) : Figure 5 - PDF de sortie généré à l'aide de la bibliothèque IronPDF for Python et affichant les données ligne par ligne de la table PyArrow.

Licence d'IronPDF

IronPDF Python.

Placez la clé de licence au début du script avant d'utiliser le progiciel IronPDF :

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

Conclusion

PyArrow est une bibliothèque polyvalente et puissante qui améliore les capacités de Python pour les tâches de traitement des données. Son format mémoire efficace, ses fonctions d'interopérabilité et son intégration avec Pandas en font un outil essentiel pour les scientifiques et les ingénieurs spécialisés dans les données. Que vous travailliez avec de grands ensembles de données, effectuiez des manipulations de données complexes ou construisiez des pipelines de traitement de données, PyArrow offre la performance et la flexibilité nécessaires pour gérer ces tâches efficacement. D'autre part, IronPDF est une bibliothèque Python robuste qui simplifie la création, la manipulation et le rendu de documents PDF directement à partir d'applications Python. Il s'intègre de manière transparente aux frameworks Python existants, ce qui permet aux développeurs de générer et de personnaliser des PDF de manière dynamique. Avec les deux packages Python PyArrow et IronPDF, les utilisateurs peuvent traiter facilement les structures de données et archiver les données.

IronPDF fournit également une documentation complète pour aider les développeurs à démarrer, accompagnée de nombreux exemples de code qui démontrent ses puissantes capacités. Pour plus de détails, veuillez visiter les pages de documentation et exemples de code.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
crc32c Python (Comment ça marche pour les développeurs)
SUIVANT >
cryptographie Python (Comment ça marche pour les développeurs)