AIDE PYTHON

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

Publié août 13, 2024
Partager:

Introduction

PyArrow est une bibliothèque puissante qui fournit 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 normalisé, indépendant du langage, pour les données plates et hiérarchiques, organisé pour des opérations analytiques efficaces sur du matériel moderne.PyArrow est essentiellement Apache Arrow Python Bindings réalisé sous la forme d'un paquetage Python. PyArrow permet un échange de données efficace et une interopérabilité entre différents systèmes de traitement des données et langages de programmation. Dans la suite de cet article, nous aborderons également les sujets suivantsIronPDFune bibliothèque de génération de PDF développée parIron Software.

Principales caractéristiques de PyArrow

  1. Format de mémoire à colonnes :

    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é : 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 qu'il soit nécessaire de procéder à une sérialisation ou à une 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(nombres entiers, nombres à virgule flottante), les types complexes(structures, listes)et les types imbriqués. Il est donc polyvalent et permet de traiter différents types de données.

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

Installation

Pour installerPyArrowvous pouvez utiliser l'une ou l'autre des options suivantestuyau ouconda:

pip install pyarrow

ou

conda install pyarrow -c conda-forge
PYTHON

Utilisation de base

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

Voici un exemple simple de l'utilisation de PyArrow pour créer un tableau et effectuer quelques 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)
PYTHON

Explication du code

Le code Python utilise PyArrow pour créer un tableau(\Npa.Table\N) à partir de trois tableaux(\Npa.array\N). 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

moineau(Comment ça marche pour les développeurs) : Figure 1 - Console affichant un objet tableau PyArrow et son contenu.

Intégration avec Pandas

PyArrow peut être intégré de manière transparente avecPandas pour améliorer les performances, en particulier lorsqu'il s'agit 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)
PYTHON

Explication du code

Le code Python convertit un DataFrame Pandas en un tableau PyArrow(\Npa.Table\N) et imprime ensuite le tableau. Le DataFrame se compose de trois colonnes(\N- Col1\N, \N-Col2\N, \N-Col3\N) avec des données entières, des chaînes de caractères et des données flottantes.

SORTIE

moineau(Comment ça marche pour les développeurs) : Figure 2 - Console affichant un objet PyArrow table généré par la conversion d'un dataframe panda en PyArrow table.

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

moineau(Comment ça marche pour les développeurs) : Figure 3 - IronPDF for Python : La bibliothèque PDF de 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 de manière programmatique. Il offre des fonctionnalités telles quegénérer des PDF à partir de HTMLvous pouvez ainsi ajouter du texte, des images et des formes à des PDF existants, mais aussiextraction de textes 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. Utiliser le moteur de rendu PDF de Chrome pourrendre 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, PythonetNode.js. environnements.

Capacités d'édition et de signature

Améliorer les documents PDF en définissant des propriétés, en ajoutant des fonctions de sécurité telles quemots de passe et autorisationsetl'application des signatures numériques.

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

Avec IronPDF, vous pouvez personnaliser les PDF avec desen-têtes, pieds de page, numéros de pageet 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. SoutienCodage 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 avec IronPDF et PyArrow

Conditions préalables pour IronPDF

  1. IronPDF utilise .NET 6.0 comme technologie sous-jacente. Vous avez donc.NET 6.0 runtime 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 programme d'installation de paquets Pythontuyau pour l'installation du paquet IronPDF.

    Installer les bibliothèques nécessaires :

pip install pyarrow 
pip install ironpdf

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")
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éer un DataFrame Pandas(df) avec trois colonnes(col1, col2, col3) contenant des données numériques et des chaînes de caractères.
  2. Conversion vers PyArrow Table:

    • Convertit le DataFrame Pandas("df") dans un tableau PyArrow("table") using pa.Table.from_pandas() méthode. 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(contenu)qui comprend des en-têtes et des données extraites du tableau PyArrow(table).

SORTIE

moineau(Comment ça marche pour les développeurs) : Figure 4 - Console affichant un objet PyArrow table généré par la conversion d'un dataframe panda en PyArrow table.

PDF DE SORTIE

moineau(Comment ça marche pour les développeurs) : Figure 5 - PDF de sortie généré à l'aide d'IronPDF for Python Library et affichant les données par ligne du tableau PyArrow.

Licence d'IronPDF

IronPDF for 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"
PYTHON

Conclusion

PyArrow est une bibliothèque polyvalente et puissante qui améliore les capacités de Python pour les tâches de traitement de 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, que vous effectuiez des manipulations de données complexes ou que vous construisiez des pipelines de traitement de données, PyArrow offre les performances et la flexibilité nécessaires pour traiter 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 deuxPyArrow etIronPDF python, 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 illustrent ses puissantes capacités. Pour plus d'informations, veuillez consulter le sitela documentation etexemples de code pages.

< PRÉCÉDENT
crc32c Python (Comment ça marche pour les développeurs)
SUIVANT >
cryptographie Python (Comment ça marche pour les développeurs)

Prêt à commencer ? Version : 2024.11.1 vient de paraître

Installation gratuite de pip Voir les licences > ;