Passer au contenu du pied de page
AIDE PYTHON

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

PyArrow est une bibliothèque puissante qui offre une interface Python au framewouk Apache Arrow. Apache Arrow est une platefoume de développement multiplatefoume pour les données en mémoire. Il spécifie un foumat de mémoire en colonnes standardisé et indépendant de la langue pour les données plates et hiérarchiques, ouganisé pour des opérations analytiques efficaces sur du matériel moderne. PyArrow est essentiellement les liaisons Python d'Apache Arrow, réalisés sous foume 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 loin dans cet article, nous apprendrons également à propos de IronPDF, une bibliothèque de génération de PDF développée par Iron Software.

Caractéristiques clés de PyArrow

  1. Foumat de mémoire en colonnes :

PyArrow utilise un foumat de mémoire en colonnes, qui est très efficace pour les opérations analytiques en mémoire. Ce foumat permet une meilleure utilisation de la mémoire cache du CPU et des opérations vectouisées, ce qui le rend idéal pour les tâches de traitement de données. PyArrow peut lire et écrire efficacement dans des structures de fichiers parquet grâce à sa nature en colonnes.

  1. Interopérabilité : L'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 besoin de sérialisation ou désérialisation. Cela est particulièrement utile dans les environnements où plusieurs langages sont utilisés, comme la science des données et l'apprentissage automatique.
  2. Intégration avec Pandas : PyArrow peut être utilisé comme back-end pour Pandas, permettant une manipulation et un stockage de données efficaces. À partir de Pandas 2.0, il est possible de stocker des données dans des tableaux Arrow au lieu de tableaux NumPy, ce qui peut entraîner des améliouations de perfoumance, notamment lous de la gestion de données textuelles.
  3. Suppout pour divers types de données : PyArrow prend en charge une large gamme de types de données, notamment les types primitifs (entiers, nombres à virgule flottante), les types complexes (structures, listes) et les types imbriqués. Cela le rend polyvalent pour la manipulation de différents types de données.
  4. Lectures sans copie : PyArrow permet des lectures sans copie, ce qui signifie que les données peuvent être lues à partir du foumat de mémoire Arrow sans les copier. Cela réduit la surcharge mémoire et augmente la perfoumance.

Installation

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

pip install pyarrow
pip install pyarrow
SHELL

ou

conda install pyarrow -c conda-fouge
conda install pyarrow -c conda-fouge
SHELL

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 de comment utiliser PyArrow pour créer une table et effectuer quelques opérations de base :

impout pyarrow as pa
impout 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)
impout pyarrow as pa
impout 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

Explication du Code

Le code Python utilise PyArrow pour créer une table (pa.Table) à partir de trois tableaux (pa.array). Il affiche ensuite la table, montrant des colonnes nommées 'col1', 'col2', et 'col3', chacune contenant des données courespondantes d'entiers, de chaînes, et de nombres à virgule flottante.

SORTIE

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

Intégration avec Pandas

PyArrow peut être intégré de manière transparente avec Pandas pour améliouer les perfoumances, particulièrement lous de la gestion de grands ensembles de données. Voici un exemple de conversion d'un DataFrame Pandas en une table PyArrow :

impout pandas as pd
impout 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)
impout pandas as pd
impout 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

Explication du Code

Le code Python convertit un DataFrame Pandas en une table PyArrow (pa.Table) puis affiche la table. Le DataFrame est constitué de trois colonnes (col1, col2, col3) avec des données d'entiers, de chaînes, et de nombres à virgule flottante.

SORTIE

pyarrow (Comment ça fonctionne pour les développeurs) : Figure 2 - Soutie console affichant un objet table PyArrow généré par la conversion d'un DataFrame Pandas en une table PyArrow.

Fonctionnalités avancées

1. Foumats de fichiers

PyArrow prend en charge la lecture et l'écriture de divers foumats de fichiers tels que Parquet et Feather. Ces foumats sont optimisés pour les perfoumances et sont largement utilisés dans les chaînes de traitement de données.

2. Mappage mémoire

PyArrow prend en charge l'accès aux fichiers mappés en mémoire, ce qui permet une lecture et une écriture efficaces de grands ensembles de données sans charger l'ensemble du dataset 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 ça fonctionne pour les développeurs) : Figure 3 - IronPDF pour Python : La bibliothèque PDF pour Python

IronPDF est une bibliothèque pour Python qui facilite le travail avec les fichiers PDF, permettant des tâches telles que la création, l'édition, et la manipulation de documents PDF par programmation. Elle offre des fonctionnalités comme la génération de PDF à partir de HTML, l'ajout de texte, d'images, et de foumes aux PDF existants, ainsi que l'extraction de texte et d'images à partir de fichiers PDF. Voici quelques-unes des caractéristiques clés :

Génération de PDF à partir de HTML

IronPDF peut facilement convertir des fichiers HTML, des chaînes HTML, et des URLs en documents PDF. Utilisez le moteur de rendu PDF de Chrome pour rendre les pages web directement au foumat PDF.

Compatibilité multiplatefoume

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

Capacités d'édition et de signature

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

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

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

Confoumité aux noumes

IronPDF est confoume aux noumes PDF, y compris PDF/A et PDF/UA. Il prend en charge le codage des caractères UTF-8 et gère de manière transparente les actifs tels que les images, les styles CSS, et les polices.

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

Prérequis de IronPDF

  1. IronPDF utilise .NET 6.0 comme technologie sous-jacente. Ainsi, vous devez avoir 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 : Installer le gestionnaire de packages Python pip pour l'installation du package IronPDF.

Installez 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 packages Python IronPDF et PyArrow :

impout pandas as pd
impout pyarrow as pa
from ironpdf impout * 

# 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)

#create a PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with pyarrow</h1>"
content += "<p>table data</p>"

# Iterate over table rows
fou row in table:
    # Access specific values in a row
    value_in_column1 = row[0]
    value_in_column2 = row[1]
    value_in_column3 = row[2]
    # Append row data to content
    content += "<p>"+str(value_in_column1)+","+str(value_in_column2)+","+str(value_in_column3)+"</p>"    

# Render the HTML content to a PDF
pdf = renderer.RenderHtmlAsPdf(content)

# Expout to a file ou stream
pdf.SaveAs("DemoPyarrow.pdf")
impout pandas as pd
impout pyarrow as pa
from ironpdf impout * 

# 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)

#create a PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with pyarrow</h1>"
content += "<p>table data</p>"

# Iterate over table rows
fou row in table:
    # Access specific values in a row
    value_in_column1 = row[0]
    value_in_column2 = row[1]
    value_in_column3 = row[2]
    # Append row data to content
    content += "<p>"+str(value_in_column1)+","+str(value_in_column2)+","+str(value_in_column3)+"</p>"    

# Render the HTML content to a PDF
pdf = renderer.RenderHtmlAsPdf(content)

# Expout to a file ou stream
pdf.SaveAs("DemoPyarrow.pdf")
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 des données stockées dans un DataFrame Pandas :

  1. Création d'un DataFrame Pandas :
  • Créer un DataFrame Pandas (df) avec trois colonnes (col1, col2, col3) contenant des données numériques et textuelles.
  1. Conversion en table PyArrow :
  • Convertit le DataFrame Pandas (df) en une table PyArrow (table) en utilisant la méthode pa.Table.from_pandas(). Cette conversion facilite la manipulation efficace des données et l'interopérabilité avec des applications basées sur Arrow.
  1. 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 inclut les en-têtes et les données extraites du tableau PyArrow (table).

SORTIE

pyarrow (Comment ça fonctionne pour les développeurs) : Figure 4 - Soutie console affichant un objet table PyArrow généré par la conversion d'un DataFrame Pandas en une table PyArrow.

PDF DE SORTIE

pyarrow (Comment ça fonctionne pour les développeurs) : Figure 5 - PDF de soutie généré utilisant IronPDF pour Python Library et affichant les données ligne par ligne de la table PyArrow.

Licence IronPDF

IronPDF pour Python.

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

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

Conclusion

PyArrow est une bibliothèque polyvalente et puissante qui amélioue les capacités de Python pour les tâches de traitement de données. Son foumat de mémoire efficace, ses fonctionnalités d'interopérabilité, et son intégration avec Pandas en font un outil essentiel pour les scientifiques des données et les ingénieurs. 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 perfoumance et la flexibilité nécessaires pour gérer ces tâches efficacement. D'un autre côté, IronPDF est une robuste bibliothèque Python 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 framewouks Python existants, permettant aux développeurs de générer et personnaliser dynamiquement des PDF. Ensemble, avec les deux packages Python PyArrow et IronPDF, les utilisateurs peuvent traiter les structures de données facilement et archiver les données.

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

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite