PYTHON HILFE

pyarrow (Wie es für Entwickler funktioniert)

Veröffentlicht 13. August 2024
Teilen Sie:

Einführung

*PyArrow ist eine leistungsfähige 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, spaltenförmiges Speicherformat für flache und hierarchische Daten, das für effiziente analytische Operationen auf moderner Hardware organisiert ist.*PyArrow ist im Grunde Apache Arrow Python Bindings, das als Python-Paket realisiert wurde. *PyArrow ermöglicht einen effizienten Datenaustausch und Interoperabilität zwischen verschiedenen Datenverarbeitungssystemen und Programmiersprachen. Später in diesem Artikel werden wir auch etwas überIronPDFeine Bibliothek zur PDF-Erzeugung, entwickelt vonIron Software.

Hauptmerkmale von PyArrow

  1. Kolumnares 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 erleichtern, 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 breite Palette von Datentypen, einschließlich primitiver Typen(ganzzahlen, Gleitkommazahlen)komplexe Typen(strukturen, Listen)und verschachtelte Typen. Dies macht es vielseitig für die Verarbeitung verschiedener Arten von Daten.

  4. Null-Kopie-Lesen: PyArrow ermöglicht Zero-Copy-Reads, d.h. Daten können aus dem Arrow-Speicherformat gelesen werden, ohne sie zu kopieren. Dies reduziert den Speicher-Overhead und erhöht die Leistung.

Einrichtung

Zum InstallierenPyArrowkönnen Sie entwederpip oderconda:

pip install pyarrow

oder

conda install pyarrow -c conda-forge
PYTHON

Grundlegende Verwendung

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

Hier ist ein einfaches Beispiel für die Verwendung von PyArrow, 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)
PYTHON

Code Erläuterung

Der Python-Code verwendet PyArrow, um eine Tabelle zu erstellen(`pa.Table`) aus drei Arrays(`pa.array`). 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.

AUSGABE

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

Integration mit Pandas

PyArrow kann nahtlos integriert werden mitPandas um die Leistung zu verbessern, insbesondere bei großen Datensätzen. 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)
PYTHON

Code Erläuterung

Der Python-Code wandelt einen Pandas DataFrame in eine PyArrow-Tabelle um(`pa.Table`) und druckt dann die Tabelle aus. Der DataFrame besteht aus drei Spalten(`col1`, `col2`, `col3`) mit Integer-, String- und Float-Daten.

AUSGABE

schafspfeil(Wie es für Entwickler funktioniert): Abbildung 2 - Konsolenausgabe, die ein PyArrow-Tabellenobjekt anzeigt, das durch Konvertierung eines Panda-Datenrahmens 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

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

IronPDF ist eine Bibliothek für Python, die die Arbeit mit PDF-Dateien erleichtert und Aufgaben wie das Erstellen, Bearbeiten und Manipulieren von PDF-Dokumenten programmatisch ermöglicht. Es bietet Funktionen wieerzeugung von PDFs aus HTMLhinzufügen von Text, Bildern und Formen zu bestehenden PDF-Dateien sowieextraktion 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 PDF-Renderer von Chrome, umwebseiten wiedergeben direkt in das PDF-Format.

Plattformübergreifende Kompatibilität

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

Bearbeitungs- und Signierfunktionen

Verbessern Sie PDF-Dokumente durch Festlegen von Eigenschaften, Hinzufügen von Sicherheitsfunktionen wiepasswörter und Berechtigungenundanwendung digitaler Signaturen.

Benutzerdefinierte Seitenvorlagen und Einstellungen

Mit IronPDF können Sie PDFs mit anpassbarenkopfzeilen, Fußzeilen, seitenzahlenund einstellbare Ränder. 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ütztUTF-8-Zeichencodierung und verarbeitet nahtlos Elemente wie Bilder, CSS-Stile und Schriftarten.

Erzeugen von PDF-Dokumenten mit IronPDF und PyArrow

IronPDF-Voraussetzungen

  1. IronPDF verwendet .NET 6.0 als Basistechnologie. Sie haben also.NET 6.0-Laufzeit auf Ihrem System installiert.

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

  3. pip: Python-Paket-Installationsprogrammpip für die Installation des IronPDF-Pakets.

    Installieren Sie die erforderlichen Bibliotheken:

pip install pyarrow 
pip install ironpdf

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")
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 eines Pandas DataFrame(df) mit drei Spalten(col1, col2, col3) mit numerischen und String-Daten.
  2. Umwandlung in PyArrow Table:

    • Konvertiert den Pandas DataFrame("df") in eine PyArrow-Tabelle("Tabelle") using pa.Table.from_pandas() methode. Diese Konvertierung ermöglicht eine effiziente Datenverarbeitung und Interoperabilität mit Arrow-basierten Anwendungen.
  3. PDF-Erzeugung mit IronPDF:

    • Verwendet den ChromePdfRenderer von IronPDF und ruft dessen RenderHtmlAsPdf Methode auf, um ein PDF-Dokument zu erzeugen(DemoPyarrow.pdf) aus einer HTML-Zeichenkette(inhalt)die Kopfzeilen und aus der PyArrow-Tabelle extrahierte Daten enthält(tabelle).

AUSGABE

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

OUTPUT PDF

schafspfeil(Wie es für Entwickler funktioniert): Abbildung 5 - PDF-Ausgabe, die mit der IronPDF for Python Library erzeugt wurde und die zeilenweise Daten aus der PyArrow-Tabelle anzeigt.

IronPDF-Lizenz

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

Schlussfolgerung

*PyArrow ist eine vielseitige und leistungsstarke Bibliothek, die die Möglichkeiten 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. Egal, ob Sie mit großen Datensätzen arbeiten, komplexe Datenmanipulationen durchführen oder Datenverarbeitungspipelines aufbauen, PyArrow bietet die Leistung und Flexibilität, die Sie benötigen, um diese Aufgaben effektiv zu bewältigen. Andererseits,IronPDF ist eine robuste Python-Bibliothek, die die Erstellung, Bearbeitung 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 beidenPyArrow undIronPDF python-Paketen können Benutzer Datenstrukturen einfach verarbeiten und die Daten archivieren.

IronPDF bietet außerdem eine umfassende Dokumentation, die Entwicklern den Einstieg erleichtert, sowie zahlreiche Code-Beispiele, die die leistungsstarken Funktionen des Programms veranschaulichen. Weitere Einzelheiten finden Sie auf der Websitedokumentation undcode-Beispiele seiten.

< PREVIOUS
crc32c Python (Wie es für Entwickler funktioniert)
NÄCHSTES >
kryptographie Python (Wie es für Entwickler funktioniert)

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

pip install gratuit Lizenzen anzeigen >