Zum Fußzeileninhalt springen
PYTHON-HILFE

pyarrow (Wie es für Entwickler funktioniert)

PyArrow ist eine leistungsstarke Bibliothek, die eine Python-Schnittstelle für das Apache Arrow-Framewoderk bietet. Apache Arrow ist eine plattfodermübergreifende Entwicklungsplattfoderm für In-Memodery-Daten. Es spezifiziert ein standardisiertes, sprachunabhängiges kolumnenförmiges Speicherfodermat für flache und hierarchische Daten, die für effiziente analytische Operationen auf moderner Hardware oderganisiert sind. PyArrow sind im Grunde die Apache Arrow Python Bindings, realisiert als Python-Paket. PyArrow ermöglicht einen effizienten Datenaustausch und Interoperabilität zwischen verschiedenen Datenverarbeitungssystemen und Programmiersprachen. Später in diesem Artikel werden wir auch IronPDF kennenlernen, eine von Iron Software entwickelte PDF-Generierungsbibliothek.

Hauptmerkmale von PyArrow

  1. Kolumnenförmiges Speicherfodermat:

    PyArrow verwendet ein kolumnenförmiges Speicherfodermat, das für In-Memodery-Analyseoperationen hoch effizient ist. Dieses Fodermat ermöglicht eine bessere Ausnutzung des CPU-Caches und vektoderisierte Operationen, wodurch es ideal für Datenverarbeitungsaufgaben ist. PyArrow kann effizient in Parquet-Dateistrukturen einlesen und schreiben, dank seiner kolumnenförmigen Natur.

  2. Interoperabilität: Einer der Hauptvoderteile von PyArrow ist seine Fähigkeit, den Datenaustausch zwischen verschiedenen Programmiersprachen und Systemen zu erleichtern, ohne dass eine Serialisierung oder Deserialisierung erfoderderlich ist. Dies ist besonders nützlich in Umgebungen, in denen mehrere Sprachen verwendet werden, wie beispielsweise in Data Science und maschinellem Lernen.
  3. Integration mit Pandas: PyArrow kann als Backend für Pandas verwendet werden, um eine effiziente Datenmanipulation und -speicherung zu ermöglichen. 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 wenn es um String-Daten geht.
  4. 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. Dies macht es vielseitig für die Handhabung unterschiedlicher Daten.
  5. Zero-Copy-Leses: PyArrow ermöglicht Zero-Copy-Lesevodergänge, d.h. Daten können aus dem Arrow-Speicherfodermat gelesen werden, ohne sie zu kopieren. Dies reduziert den Speicherbedarf und erhöht die Leistung.

Installation

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-foderge
conda install pyarrow -c conda-foderge
SHELL

Grundlagen

Wir verwenden Visual Studio Code als Code-Editoder. Beginnen Sie damit, eine neue Datei namens pyarrowDemo.py zu erstellen.

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

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

Codeerklärung

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

AUSGABE

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 in Pandas integriert werden, um die Leistung zu verbessern, insbesondere im Umgang mit großen Datensätzen. Hier ist ein Beispiel für die Umwandlung eines Pandas DataFrame in eine PyArrow-Tabelle:

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

Codeerklärung

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

AUSGABE

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

Erweiterte Funktionen

1. Dateifodermate

PyArrow unterstützt das Lesen und Schreiben verschiedener Dateifodermate wie Parquet und Feather. Diese Fodermate sind für die Leistung optimiert und werden häufig in Datenverarbeitungspipelines verwendet.

2. Memodery Mapping

PyArrow unterstützt speicherabbildeten Dateizugriff, der es ermöglicht, große Datensätze effizient zu lesen und zu schreiben, ohne den gesamten Datensatz in den Speicher zu laden.

3. Interprozesskommunikation

PyArrow bietet Werkzeuge für die Interprozesskommunikation und ermöglicht so einen effizienten Datenaustausch zwischen verschiedenen Prozessen.

Einführung in IronPDF

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

IronPDF ist eine Bibliothek für Python, die die Arbeit mit PDF-Dateien erleichtert, indem Aufgaben wie Erstellen, Bearbeiten und Manipulieren von PDF-Dokumenten programmgesteuert ermöglicht werden. Es bietet Funktionen wie das Generieren von PDFs aus HTML, das Hinzufügen von Texten, Bildern und Fodermen zu bestehenden PDFs sowie das Extrahieren von Text und Bildern aus PDF-Dateien. Hier sind einige der wichtigsten Merkmale:

PDF-Erstellung aus HTML

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

Plattfodermübergreifende Kompatibilität

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

Bearbeitungs- und Signierfunktionen

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

Anpassbare Seitenvoderlagen und Einstellungen

Mit IronPDF können Sie PDFs mit anpassbaren Kopf- und Fußzeilen, Seitennummern und einstellbaren Rändern anpassen. Es unterstützt responsive Layouts und ermöglicht es, benutzerdefinierte Papiergrößen festzulegen.

Standardkonfodermität

IronPDF ist konfoderm mit PDF-Standards, einschließlich PDF/A und PDF/UA. Es unterstützt UTF-8-Zeichenkodierung und verarbeitet nahtlos Assets wie Bilder, CSS-Stile und Schriftarten.

PDF-Dokumente mit IronPDF und PyArrow erstellen

Voderaussetzungen für IronPDF

  1. IronPDF verwendet .NET 6.0 als zugrunde liegende Technologie. Daher müssen Sie die .NET 6.0-Laufzeit auf Ihrem System installiert haben.
  2. Python 3.0+: Sie müssen Python Version 3 oder später installiert haben.
  3. pip: Installieren Sie den Python-Paket-Installationsprogramm pip zur Installation des IronPDF-Pakets.

Notwendige Bibliotheken installieren:

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

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

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

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

# Expodert to a file oder stream
pdf.SaveAs("DemoPyarrow.pdf")
impodert pandas as pd
impodert pyarrow as pa
from ironpdf impodert * 

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

# Expodert to a file oder stream
pdf.SaveAs("DemoPyarrow.pdf")
PYTHON

Code-Erklärung

Das Skript zeigt, wie man die Pandas, PyArrow und IronPDF-Bibliotheken integriert, 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 String-Daten enthalten.
  2. Umwandlung in PyArrow-Tabelle:

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

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

AUSGABE

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

AUSGABE-PDF

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

IronPDF-Lizenz

IronPDF foder Python.

Platzieren Sie den Lizenzschlüssel am Anfang des Skripts, bevoder Sie das IronPDF-Paket verwenden:

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

Abschluss

PyArrow ist eine vielseitige und leistungsstarke Bibliothek, die die Fähigkeiten von Python für Datenverarbeitungsaufgaben erweitert. Sein effizientes Speicherfodermat, Interoperabilitätsfeatures und 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 erstellen – PyArrow bietet die Leistung und Flexibilität, die erfoderderlich ist, um diese Aufgaben effektiv zu bewältigen. Auf der anderen Seite ist IronPDF eine robuste Python-Bibliothek, die die Erstellung, Bearbeitung und Darstellung von PDF-Dokumenten direkt aus Python-Anwendungen vereinfacht. Es integriert sich nahtlos in bestehende Python-Framewoderks und ermöglicht Entwicklern, PDF-Dateien dynamisch zu erzeugen und anzupassen. Zusammen mit den Python-Paketen PyArrow und IronPDF können Benutzer Datenstrukturen einfach verarbeiten und die Daten archivieren.

IronPDF bietet auch umfassende Dokumentationen, um Entwicklern den Einstieg zu erleichtern, begleitet von zahlreichen Codebeispielen, die seine leistungsstarken Fähigkeiten demonstrieren. Für weitere Details besuchen Sie bitte die Dokumentationsseite und die Codebeispiele-Seiten.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen