Zum Fußzeileninhalt springen
PYTHON-HILFE

Dask python (Wie es für Entwickler funktioniert)

Python ist eine leistungsstarke Sprache für Datenanalyse und maschinelles Lernen, aber die Verarbeitung großer Datensätze kann für Datenanalysen herausfordernd sein. Hier kommt Dask ins Spiel. Dask ist eine Open-Source-Bibliothek, die fortschrittliche Parallelisierung für Analysen bietet, wodurch effiziente Berechnungen auf großen Datensätzen ermöglicht werden, die die Speicherkapazität einer einzelnen Maschine überschreiten. In diesem Artikel werden wir uns mit der grundlegenden Verwendung der Dask-Bibliothek und einer weiteren sehr interessanten PDF-Generierungsbibliothek namens IronPDF von Iron Software befassen, um PDF-Dokumente zu erstellen.

Warum Dask verwenden?

Dask ist entwickelt worden, um Ihren Python-Code von einem einzelnen Laptop auf einen großen Cluster zu skalieren. Es integriert sich nahtlos mit bekannten Python-Bibliotheken wie NumPy, pandas und scikit-learn, um parallele Ausführung ohne bedeutende Code-Änderungen zu ermöglichen.

Wichtige Funktionen von Dask

  1. Paralleles Rechnen: Dask ermöglicht es Ihnen, mehrere Aufgaben gleichzeitig auszuführen, was die Berechnungen erheblich beschleunigt.
  2. Skalierbarkeit: Es kann Datensätze, die größer als der Speicher sind, verarbeiten, indem sie in kleinere Teile aufgebrochen und parallel verarbeitet werden.
  3. Kompatibilität: Funktioniert gut mit bestehenden Python-Bibliotheken, was die Integration in Ihren aktuellen Arbeitsablauf erleichtert.
  4. Flexibilität: Bietet hochrangige Sammlungen wie Dask DataFrame, Aufgabengraphen, Dask Array, Dask Cluster und Dask Bag, die pandas, NumPy und Listen jeweils nachahmen.

Erste Schritte mit Dask

Installation

Sie können Dask mit pip installieren:

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

Grundlagen

Hier ist ein einfaches Beispiel, um zu demonstrieren, 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 teilt es in kleinere Teile. Die Methode compute() löst die parallele Berechnung aus und gibt das Ergebnis zurück. Der Aufgabengraph wird intern verwendet, um paralleles Rechnen in Python Dask zu erreichen.

Ausgabe

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

Dask DataFrames

Dask DataFrames ähneln pandas DataFrames, sind jedoch darauf ausgelegt, Datensätze zu verarbeiten, 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 Dask's Fähigkeit, Zeitreihendaten zu verarbeiten, synthetische Datensätze zu generieren und Aggregationen wie stündliche Mittel effizient zu berechnen, indem seine parallelen Verarbeitungskapazitäten genutzt werden, indem mehrere Python-Prozesse, ein verteiltes Scheduler und mehrere Kernrechenressourcen verwendet werden.

Ausgabe

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

Best Practices

  1. Klein anfangen: Beginnen Sie mit kleinen Datensätzen, um zu verstehen, wie Dask funktioniert, bevor Sie skalieren.
  2. Verwenden Sie das Dashboard: Dask bietet ein Dashboard, um den Fortschritt und die Leistung Ihrer Berechnungen zu überwachen.
  3. Optimieren Sie die Blockgrößen: Wählen Sie geeignete Blockgrößen, um den Speicherbedarf und die Berechnungsgeschwindigkeit auszugleichen.

Einführung in IronPDF

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

IronPDF ist eine robuste Python-Bibliothek, die für das Erstellen, Bearbeiten und Signieren von PDF-Dokumenten mit HTML, CSS, Bildern und JavaScript entwickelt wurde. Es betont die Leistungseffizienz bei minimalem Speicherverbrauch. Hauptmerkmale sind:

  • HTML-zu-PDF-Konvertierung: Konvertieren Sie HTML-Dateien, -Strings und -URLs mühelos in PDF-Dokumente, indem Sie die Chrome-PDF-Rendering-Fähigkeiten nutzen.
  • Plattformübergreifende Unterstützung: Funktioniert nahtlos auf Python 3+ unter Windows, Mac, Linux und verschiedenen Cloud-Plattformen. Es ist auch kompatibel mit .NET-, Java-, Python- und Node.js-Umgebungen.
  • Bearbeiten und Signieren: Passen Sie PDF-Eigenschaften an, wenden Sie Sicherheitsmaßnahmen wie Passwö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, einstellbaren Rändern, benutzerdefinierten Papiergrößen und responsive Designs an.
  • Normenkonformität: Strikte Einhaltung von PDF-Standards wie PDF/A und PDF/UA, um die Kompatibilität mit UTF-8-Zeichen-Codierung sicherzustellen. Effiziente Verwaltung von Ressourcen wie Bildern, CSS-Stylesheets und Schriftarten wird ebenfalls unterstützt.

Installation

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

PDF-Dokumente mit IronPDF und Dask erzeugen.

Voraussetzungen

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

Zu Beginn erstellen wir eine Python-Datei, um unsere Skripte hinzuzufügen.

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

Notwendige Bibliotheken installieren:

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

Fügen Sie dann den untenstehenden Python-Code hinzu, um die Verwendung der IronPDF- und Dask-Python-Pakete 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-Erklärung

Dieser Code-Schnipsel integriert Dask für die Datenverarbeitung und IronPDF zur PDF-Erstellung. Es zeigt:

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

Dieser Code kombiniert die Fähigkeiten von Dask zur groß angelegten Datenmanipulation und die Funktionalität 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

IronPDF-Lizenzschlüssel ermöglicht es Benutzern, seine umfangreichen Funktionen vor dem Kauf auszuprobieren.

Platzieren Sie den Lizenzschlüssel zu Beginn 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 Datenverarbeitungsfähigkeiten in Python erheblich verbessern kann. Durch die Aktivierung von parallelem und verteiltem Rechnen können Sie effizient mit großen Datensätzen arbeiten und es integriert sich nahtlos in Ihr bestehendes Python-Ökosystem. 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, digitale Signierung und plattformübergreifende Unterstützung, was es geeignet für verschiedene Dokumentgenerierungs- und Verwaltungsaufgaben in Python-Anwendungen macht.

Zusammen ermöglichen es beide Bibliotheken Datenwissenschaftlern, fortgeschrittene Datenanalysen und -wissenschaften durchzuführen und die Ausgabeergebnisse dann im standardmäßigen PDF-Format mit IronPDF 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