Zum Fußzeileninhalt springen
PYTHON-HILFE

Dask python (Wie es für Entwickler funktioniert)

Python ist eine leistungsstarke Sprache für die Datenanalyse und das maschinelle Lernen, aber der Umgang mit großen Datensätzen kann eine Herausforderung für die Datenanalyse darstellen. An dieser Stelle kommt Dask ins Spiel. Dask is an open-source library that provides advanced parallelization for analytics, enabling efficient computation on large datasets that exceed the memory capacity of a single machine. In this article, we will look into the basic usage of the Dask library and another very interesting PDF-generation library called IronPDF from Iron Software to generate PDF documents.

Warum Dask verwenden?

Dask wurde entwickelt, um Ihren Python-Code von einem einzelnen Laptop bis zu einem großen Cluster zu skalieren. Die Software lässt sich nahtlos in gängige Python-Bibliotheken wie NumPy, pandas und scikit-learn integrieren, um eine parallele Ausführung ohne wesentliche Änderungen am Code zu ermöglichen.

Schlüsselmerkmale von Dask

  1. Paralleles Rechnen: Mit Dask können Sie mehrere Aufgaben gleichzeitig ausführen, was die Berechnungen erheblich beschleunigt.
  2. Skalierbarkeit: Es kann Datensätze verarbeiten, die größer als der Speicher sind, indem es sie in kleinere Teile zerlegt und parallel verarbeitet.
  3. Kompatibilität: Funktioniert gut mit bestehenden Python-Bibliotheken und lässt sich daher leicht in Ihren aktuellen Arbeitsablauf integrieren.
  4. Flexibilität: Bietet High-Level-Sammlungen wie Dask DataFrame, Task Graphen, Dask Array, Dask Cluster und Dask Bag, die jeweils Pandas, NumPy und Listen nachahmen.

Einstieg mit Dask

Installation

Sie können Dask mit pip installieren:

pip install dask[complete]
pip install dask[complete]
SHELL

Grundlegende Verwendung

Hier ist ein einfaches Beispiel, um zu zeigen, wie Dask Berechnungen parallelisieren kann:

import dask.array as da

# Create a large Dask array
x = da.random.random((10, 10), chunks=(10, 10))
print('Generated Input')
print(x.compute())

# Perform a computation
result = x.mean().compute()
print('Generated Mean')
print(result)
import dask.array as da

# Create a large Dask array
x = da.random.random((10, 10), chunks=(10, 10))
print('Generated Input')
print(x.compute())

# Perform a computation
result = x.mean().compute()
print('Generated Mean')
print(result)
PYTHON

In diesem Beispiel erstellt Dask ein großes Array und unterteilt es in kleinere Teile. Die Methode compute() stößt die parallele Berechnung an und gibt das Ergebnis zurück. Der Task-Graph wird intern verwendet, um paralleles Rechnen in Python Dask zu ermöglichen.

Ausgabe

Dask Python (How It Works For Developers): Abbildung 1

Dask DataFrames

Dask DataFrames ähneln den Pandas DataFrames, sind aber für die Verarbeitung von Datensätzen konzipiert, die größer als der Speicher sind. Hier ist ein Beispiel:

import dask

# Generate a synthetic timeseries DataFrame
df = dask.datasets.timeseries()
print('\nGenerated DataFrame')
print(df.head(10))

# Compute mean hourly resampled DataFrame
print('\nComputed Mean Hourly DataFrame')
print(df[["x", "y"]].resample("1h").mean().head(10))
import dask

# Generate a synthetic timeseries DataFrame
df = dask.datasets.timeseries()
print('\nGenerated DataFrame')
print(df.head(10))

# Compute mean hourly resampled DataFrame
print('\nComputed Mean Hourly DataFrame')
print(df[["x", "y"]].resample("1h").mean().head(10))
PYTHON

Der Code zeigt, dass Dask in der Lage ist, Zeitreihendaten zu verarbeiten, synthetische Datensätze zu generieren und Aggregationen wie stündliche Mittelwerte effizient zu berechnen, indem es seine Parallelverarbeitungsfähigkeiten unter Verwendung mehrerer Python-Prozesse, eines verteilten Schedulers und mehrerer Rechenkerne ausnutzt.

Ausgabe

Dask Python (Wie es für Entwickler funktioniert): Abbildung 2

Beste Praktiken

  1. Fangen Sie klein an: Beginnen Sie mit kleinen Datensätzen, um zu verstehen, wie Dask funktioniert, bevor Sie den Umfang vergrößern.
  2. Benutzen Sie das Dashboard: Dask bietet ein Dashboard, um den Fortschritt und die Leistung Ihrer Berechnungen zu überwachen.
  3. Optimieren Sie die Größe der Chunks: Wählen Sie geeignete Chunk-Größen, um ein Gleichgewicht zwischen Speicherverbrauch und Berechnungsgeschwindigkeit herzustellen.

Einführung in IronPDF

Dask Python (How It Works For Developers): Abbildung 3 - IronPDF: Die Python-PDF-Bibliothek

IronPDF ist eine robuste Python-Bibliothek zum Erstellen, Bearbeiten und Signieren von PDF-Dokumenten mit HTML, CSS, Bildern und JavaScript. Der Schwerpunkt liegt auf effizienter Leistung bei minimalem Speicherverbrauch. Hauptmerkmale sind:

  • HTML-zu-PDF-Konvertierung: Einfache Konvertierung von HTML-Dateien, Strings und URLs in PDF-Dokumente unter Nutzung der PDF-Rendering-Funktionen von Chrome.
  • Plattformübergreifende Unterstützung: Funktioniert nahtlos mit Python 3+ auf Windows, Mac, Linux und verschiedenen Cloud-Plattformen. Sie ist außerdem mit den Umgebungen .NET, Java, Python und Node.js kompatibel.
  • Bearbeiten und Signieren: Passen Sie PDF-Eigenschaften an, wenden Sie Sicherheitsmaßnahmen wie Kennwörter und Berechtigungen an, und fügen Sie nahtlos digitale Signaturen hinzu.
  • Seitenvorlagen und Einstellungen: Passen Sie PDF-Layouts mit Kopf- und Fußzeilen, Seitenzahlen, anpassbaren Rändern, benutzerdefinierten Papiergrößen und responsiven Designs an.
  • Standardkonformität: Strikte Einhaltung von PDF-Standards wie PDF/A und PDF/UA, Gewährleistung der Kompatibilität mit der UTF-8-Zeichenkodierung. Eine effiziente Verwaltung von Assets wie Bildern, CSS-Stylesheets und Schriftarten wird ebenfalls unterstützt.

Installation

pip install ironpdf
pip install dask
pip install ironpdf
pip install dask
SHELL

Erzeugen von PDF-Dokumenten mit IronPDF und Dask

Voraussetzungen

  1. Stellen Sie sicher, dass Visual Studio Code installiert ist.
  2. Python Version 3 ist installiert.

Lassen Sie uns zunächst eine Python-Datei erstellen, um unsere Skripte hinzuzufügen.

Öffnen Sie Visual Studio Code und erstellen Sie eine Datei, daskDemo.py.

Installieren Sie die erforderlichen Bibliotheken:

pip install dask
pip install ironpdf
pip install dask
pip install ironpdf
SHELL

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

import dask
from ironpdf import *

# Apply your license key
License.LicenseKey = "key"

# Generate a synthetic timeseries DataFrame
df = dask.datasets.timeseries()
print('\nGenerated DataFrame')
print(df.head(10))

# Compute the mean hourly DataFrame
dfmean = df[["x", "y"]].resample("1h").mean().head(10)
print('\nComputed Mean Hourly DataFrame')
print(dfmean)

# Initialize the PDF renderer
renderer = ChromePdfRenderer()

# Create HTML content for the PDF
content = "<h1>Awesome Iron PDF with Dask</h1>"

# Add generated DataFrame to the content
content += "<h2>Generated DataFrame (First 10)</h2>"
rows = df.head(10)
for i in range(10):
    row = rows.iloc[i]
    content += f"<p>{str(row[0])}, {str(row[2])}, {str(row[3])}</p>"

# Add computed mean DataFrame to the content
content += "<h2>Computed Mean Hourly DataFrame (First 10)</h2>"
for i in range(10):
    row = dfmean.iloc[i]
    content += f"<p>{str(row[0])}</p>"

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

# Save the PDF to a file
pdf.SaveAs("DemoIronPDF-Dask.pdf")
import dask
from ironpdf import *

# Apply your license key
License.LicenseKey = "key"

# Generate a synthetic timeseries DataFrame
df = dask.datasets.timeseries()
print('\nGenerated DataFrame')
print(df.head(10))

# Compute the mean hourly DataFrame
dfmean = df[["x", "y"]].resample("1h").mean().head(10)
print('\nComputed Mean Hourly DataFrame')
print(dfmean)

# Initialize the PDF renderer
renderer = ChromePdfRenderer()

# Create HTML content for the PDF
content = "<h1>Awesome Iron PDF with Dask</h1>"

# Add generated DataFrame to the content
content += "<h2>Generated DataFrame (First 10)</h2>"
rows = df.head(10)
for i in range(10):
    row = rows.iloc[i]
    content += f"<p>{str(row[0])}, {str(row[2])}, {str(row[3])}</p>"

# Add computed mean DataFrame to the content
content += "<h2>Computed Mean Hourly DataFrame (First 10)</h2>"
for i in range(10):
    row = dfmean.iloc[i]
    content += f"<p>{str(row[0])}</p>"

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

# Save the PDF to a file
pdf.SaveAs("DemoIronPDF-Dask.pdf")
PYTHON

Code-Erläuterung

Dieses Code-Snippet integriert Dask für die Datenverarbeitung und IronPDF für die PDF-Erzeugung. Sie demonstriert:

  1. Dask Integration: Verwendet dask.datasets.timeseries(), um einen synthetischen Zeitreihen-DataFrame (df) zu erzeugen. Druckt die ersten 10 Zeilen (df.head(10)) und berechnet den mittleren stündlichen DataFrame (dfmean) basierend auf den Spalten "x" und "y".
  2. IronPDF Verwendung: Setzt den IronPDF Lizenzschlüssel mit License.LicenseKey. Erstellt einen HTML-String (content), der Kopfzeilen und Daten aus den generierten und berechneten DataFrames enthält, rendert diesen HTML-Inhalt dann mit ChromePdfRenderer() in ein PDF (pdf) und speichert das PDF schließlich als "DemoIronPDF-Dask.pdf".

Dieser Code kombiniert die Fähigkeiten von Dask zur umfangreichen Datenmanipulation mit den Funktionen von IronPDF zur Konvertierung von HTML-Inhalten in ein PDF-Dokument.

Ausgabe

Dask Python (Wie es für Entwickler funktioniert): Abbildung 4

PDF

Dask Python (Wie es für Entwickler funktioniert): Abbildung 5

IronPDF Lizenz

der IronPDF Lizenzschlüssel ermöglicht es den Benutzern, die umfangreichen Funktionen vor dem Kauf zu testen.

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"
from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

Abschluss

Dask ist ein vielseitiges Werkzeug, das Ihre Datenverarbeitungsmöglichkeiten in Python erheblich verbessern kann. Durch die Möglichkeit des parallelen und verteilten Rechnens können Sie effizient mit großen Datensätzen arbeiten und sich nahtlos in Ihr bestehendes Python-Ökosystem integrieren. IronPDF ist eine leistungsstarke Python-Bibliothek zur Erstellung und Bearbeitung von PDF-Dokumenten mit HTML, CSS, Bildern und JavaScript. Es bietet Funktionen wie HTML-zu-PDF-Konvertierung, PDF-Bearbeitung, digitales Signieren und plattformübergreifende Unterstützung, wodurch es sich für verschiedene Aufgaben der Dokumentenerstellung und -verwaltung in Python-Anwendungen eignet.

Beide Bibliotheken zusammen ermöglichen es Datenwissenschaftlern, fortschrittliche Datenanalysen und wissenschaftliche Operationen durchzuführen und die Ergebnisse anschließend mit IronPDF im Standard-PDF-Format zu speichern.

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