PYTHON HILFE

pyarrow (Wie es für Entwickler funktioniert)

Einführung

PyArrow ist eine leistungsstarke Bibliothek, die eine Python-Schnittstelle zum Apache Arrow-Framework bietet. Apache Arrow ist eine sprachenübergreifende Entwicklungsplattform für In-Memory-Daten. Es spezifiziert ein standardisiertes, sprachunabhängiges spaltenbasiertes Speicherformat für flache und hierarchische Daten, das für effiziente analytische Operationen auf moderner Hardware organisiert ist. PyArrow ist im Wesentlichen Apache Arrow Python-Bindungen, die als Python-Paket realisiert wurden. PyArrow ermöglicht einen effizienten Datenaustausch und die Interoperabilität zwischen verschiedenen Datenverarbeitungssystemen und Programmiersprachen. Später in diesem Artikel werden wir auch über IronPDF lernen, eine von Iron Software entwickelte PDF-Erstellungsebibliothek.

Hauptmerkmale von PyArrow

  1. Spaltenorientiertes Speicherformat:

    PyArrow verwendet ein spaltenförmiges Speicherformat, das sehr effizient für speicherinterne Analyseoperationen ist. Dieses Format ermöglicht eine bessere Nutzung des CPU-Cache und vektorisierte Operationen, was es ideal für Datenverarbeitungsaufgaben macht. PyArrow kann aufgrund seiner spaltenförmigen Natur effizient Parkett-Dateistrukturen lesen und schreiben.

  1. Interoperabilität: Einer der Hauptvorteile von PyArrow ist seine Fähigkeit, den Datenaustausch zwischen verschiedenen Programmiersprachen und Systemen zu ermöglichen, ohne dass eine Serialisierung oder Deserialisierung erforderlich ist. Dies ist besonders nützlich in Umgebungen, in denen mehrere Sprachen verwendet werden, wie z. B. in der Datenwissenschaft und beim maschinellen Lernen.

  2. Integration mit Pandas: PyArrow kann als Backend für Pandas verwendet werden, was eine effiziente Datenmanipulation und -speicherung ermöglicht. Ab Pandas 2.0 ist es möglich, Daten in Arrow-Arrays anstelle von NumPy-Arrays zu speichern, was zu Leistungsverbesserungen führen kann, insbesondere beim Umgang mit String-Daten.

  3. Unterstützung für verschiedene Datentypen: PyArrow unterstützt eine Vielzahl von Datentypen, einschließlich primitiver Typen (Ganzzahlen, Gleitkommazahlen), komplexer Typen (Strukturen, Listen) und verschachtelter Typen. Dadurch ist es vielseitig einsetzbar für die Verarbeitung unterschiedlicher Datenarten.

  4. Zero-Copy Lesevorgänge: PyArrow ermöglicht Zero-Copy Lesevorgänge, was bedeutet, dass Daten aus dem Arrow-Speicherformat gelesen werden können, ohne sie zu kopieren. Dies reduziert den Speicher-Overhead und erhöht die Leistung.

Einrichtung

Um PyArrow zu installieren, können Sie entweder pip oder conda verwenden:

pip install pyarrow
pip install pyarrow
SHELL

oder

conda install pyarrow -c conda-forge
py
PYTHON

Grundlegende Verwendung

Wir verwenden Visual Studio Code als Code-Editor. Beginnen Sie mit der Erstellung einer neuen Datei, pyarrowDemo.py.

Hier ist ein einfaches Beispiel dafür, wie man PyArrow verwendet, um eine Tabelle zu erstellen und einige grundlegende Operationen durchzuführen:

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

Code Erläuterung

Der Python-Code verwendet PyArrow, um eine Tabelle (`pa.Table`) aus drei Arrays (`pa.array`) zu erstellen. Anschließend wird die Tabelle mit den Spalten 'col1', 'col2' und 'col3' ausgedruckt, die jeweils entsprechende Daten in Form von Ganzzahlen, Strings und Floats enthalten.

OUTPUT

pyarrow (Wie es für Entwickler funktioniert): Abbildung 1 - Konsolenausgabe, die ein PyArrow-Tabellenobjekt zusammen mit seinem Inhalt anzeigt.

Integration mit Pandas

PyArrow kann nahtlos mit Pandas integriert werden, um die Leistung zu verbessern, insbesondere bei der Verarbeitung großer Datensätze. Hier ist ein Beispiel für die Konvertierung eines Pandas DataFrame in eine PyArrow Table:

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

Code Erläuterung

Der Python-Code konvertiert ein Pandas DataFrame in eine PyArrow-Tabelle (pa.Table) und gibt dann die Tabelle aus. Das DataFrame besteht aus drei Spalten (col1, col2, col3) mit Integer-, String- und Float-Daten.

OUTPUT

pyarrow (Wie es für Entwickler funktioniert): Abbildung 2 - Konsolenausgabe zeigt ein PyArrow-Tabellenobjekt, das durch die Umwandlung eines Pandas-Dataframes in eine PyArrow-Tabelle erzeugt wurde.

Erweiterte Funktionen

1. Dateiformate

PyArrow unterstützt das Lesen und Schreiben verschiedener Dateiformate wie Parquet und Feather. Diese Formate sind auf Leistung optimiert und werden häufig in Datenverarbeitungspipelines verwendet.

2. Speicher-Mapping

PyArrow unterstützt memory-mapped file access, was ein effizientes Lesen und Schreiben großer Datensätze ermöglicht, ohne den gesamten Datensatz in den Speicher zu laden.

3. Kommunikation zwischen Prozessen

PyArrow bietet Werkzeuge für die Kommunikation zwischen Prozessen, die einen effizienten Datenaustausch zwischen verschiedenen Prozessen ermöglichen.

Einführung in IronPDF

pyarrow (Wie es für Entwickler funktioniert): Abbildung 3 - IronPDF for Python: Die Python PDF-Bibliothek

IronPDF ist eine Bibliothek für Python, die das Arbeiten mit PDF-Dateien erleichtert und Aufgaben wie das Erstellen, Bearbeiten und Programmieren von PDF-Dokumenten ermöglicht. Es bietet Funktionen wie Erstellen von PDFs aus HTML, Hinzufügen von Text, Bildern und Formen zu vorhandenen PDFs sowie Extrahieren von Text und Bildern aus PDF-Dateien. Hier sind einige der wichtigsten Merkmale

PDF-Erzeugung aus HTML

IronPDF kann HTML-Dateien, HTML-Strings und URLs problemlos in PDF-Dokumente umwandeln. Nutzen Sie den Chrome-PDF-Renderer, um Webseiten direkt in das PDF-Format zu rendern.

Plattformübergreifende Kompatibilität

IronPDF ist mit Python 3+ kompatibel und funktioniert nahtlos auf Windows, Mac, Linux und Cloud-Plattformen. Es wird auch in .NET, Java, Python und Node.js unterstützt. umgebungen.

Bearbeitungs- und Signierfunktionen

Verbessern Sie PDF-Dokumente, indem Sie Eigenschaften festlegen, Sicherheitsfunktionen wie Passwörter und Berechtigungen hinzufügen und digitale Signaturen anwenden.

Benutzerdefinierte Seitenvorlagen und Einstellungen

Mit IronPDF können Sie PDFs mit anpassbaren Kopf- und Fußzeilen, Seitenzahlen und einstellbaren Rändern gestalten. Es unterstützt responsive Layouts und ermöglicht die Einstellung benutzerdefinierter Papiergrößen.

Einhaltung von Normen

IronPDF ist konform mit den PDF-Standards, einschließlich PDF/A und PDF/UA. Unterstützt UTF-8-Zeichencodierung und verarbeitet nahtlos Assets wie Bilder, CSS-Stile und Schriftarten.

Erzeugen von PDF-Dokumenten mit IronPDF und PyArrow

IronPDF-Voraussetzungen

  1. IronPDF verwendet .NET 6.0 als zugrunde liegende Technologie. Sie haben also die .NET 6.0-Laufzeitumgebung auf Ihrem System installiert.

  2. Python 3.0+: Sie müssen Python Version 3 oder höher installiert haben.

  3. pip: Installieren Sie den Python-Paket-Installer pip zur Installation des IronPDF-Pakets.

    Installieren Sie die erforderlichen Bibliotheken:

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

Fügen Sie dann den folgenden Code ein, um die Verwendung der Python-Pakete IronPDF und pyarrow zu demonstrieren

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

Code Erläuterung

Das Skript demonstriert die Integration von Pandas-, PyArrow- und IronPDF-Bibliotheken, um ein PDF-Dokument aus Daten zu erstellen, die in einem Pandas DataFrame gespeichert sind:

  1. Pandas DataFrame-Erstellung:

    • Erstellen Sie ein Pandas DataFrame (df) mit drei Spalten (col1, col2, col3), die numerische und Zeichenfolgendaten enthalten.
  2. Konvertierung in PyArrow-Tabelle:

    • Konvertiert das Pandas DataFrame ("df") in eine PyArrow-Tabelle ("table") mittels der Methode pa.Table.from_pandas(). Diese Konvertierung ermöglicht eine effiziente Datenverarbeitung und Interoperabilität mit Arrow-basierten Anwendungen.
  3. PDF-Erstellung mit IronPDF:

    • Verwendet die ChromePdfRenderer von IronPDF und ruft die RenderHtmlAsPdf-Methode auf, um ein PDF-Dokument (DemoPyarrow.pdf) aus einem HTML-String (Inhalt) zu generieren, das Kopfzeilen und Daten enthält, die aus der PyArrow-Tabelle (Tabelle) extrahiert wurden.

OUTPUT

pyarrow (Wie es für Entwickler funktioniert): Abbildung 4 - Konsolenausgabe, die ein PyArrow-Tabellenobjekt anzeigt, das durch die Umwandlung eines Panda-Datenrahmens in eine PyArrow-Tabelle generiert wurde.

OUTPUT PDF

pyarrow (Wie es für Entwickler funktioniert): Abbildung 5 - Ausgabe-PDF, erstellt mit IronPDF for Python Library, das zeilenweise Daten aus der PyArrow-Tabelle anzeigt.

IronPDF-Lizenz

IronPDF Python.

Setzen Sie den Lizenzschlüssel an den Anfang des Skripts, bevor Sie das IronPDF-Paket verwenden:

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

Schlussfolgerung

PyArrow ist eine vielseitige und leistungsstarke Bibliothek, die die Fähigkeiten von Python für Datenverarbeitungsaufgaben erweitert. Sein effizientes Speicherformat, die Interoperabilitätsfunktionen und die Integration mit Pandas machen es zu einem unverzichtbaren Werkzeug für Datenwissenschaftler und Ingenieure. Ob Sie mit großen Datensätzen arbeiten, komplexe Datenmanipulationen durchführen oder Datenverarbeitungspipelines aufbauen, PyArrow bietet die Leistung und Flexibilität, die erforderlich sind, um diese Aufgaben effektiv zu bewältigen. Auf der anderen Seite ist IronPDF eine robuste Python-Bibliothek, die die Erstellung, Manipulation und Darstellung von PDF-Dokumenten direkt aus Python-Anwendungen vereinfacht. Es lässt sich nahtlos in bestehende Python-Frameworks integrieren und ermöglicht es Entwicklern, PDFs dynamisch zu erzeugen und anzupassen. Zusammen mit den Python-Paketen PyArrow und IronPDF können Benutzer Datenstrukturen mühelos verarbeiten und die Daten archivieren.

IronPDF bietet außerdem umfassende Dokumentation, um Entwicklern beim Einstieg zu helfen, begleitet von zahlreichen Codebeispielen, die seine leistungsstarken Fähigkeiten demonstrieren. Für weitere Informationen besuchen Sie bitte die Seiten Dokumentation und Codebeispiele.

Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.
< PREVIOUS
crc32c Python (Wie es für Entwickler funktioniert)
NÄCHSTES >
kryptographie Python (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2025.5 gerade veröffentlicht

Lizenzen anzeigen >