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: Mit Dask können Sie mehrere Aufgaben gleichzeitig ausführen, wodurch die Berechnungen deutlich beschleunigt werden.
  2. Skalierbarkeit: Es kann Datensätze verarbeiten, die größer als der Arbeitsspeicher sind, indem es sie in kleinere Teile aufteilt und parallel verarbeitet.
  3. Kompatibilität: Funktioniert gut mit bestehenden Python-Bibliotheken und lässt sich daher problemlos 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 pandas, NumPy bzw. Listen nachbilden.

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 compute()-Methode 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 den Umfang erhöhen.
  2. Nutzen Sie das Dashboard: Dask bietet ein Dashboard, mit dem Sie den Fortschritt und die Leistung Ihrer Berechnungen überwachen können.
  3. Chunk-Größen optimieren: Wählen Sie geeignete Chunk-Größen, um ein Gleichgewicht zwischen Speichernutzung und Rechengeschwindigkeit zu finden.

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, Zeichenketten und URLs ganz einfach in PDF-Dokumente und nutzen Sie dabei die PDF-Rendering-Funktionen von Chrome.
  • Plattformübergreifende Unterstützung: Funktioniert nahtlos mit Python 3+ auf Windows, Mac, Linux und verschiedenen Cloud-Plattformen. Es ist auch kompatibel mit .NET-, Java-, Python- und Node.js-Umgebungen.
  • Bearbeiten und Signieren: PDF-Eigenschaften anpassen, Sicherheitsmaßnahmen wie Passwörter und Berechtigungen anwenden und digitale Signaturen nahtlos hinzufügen.
  • Seitenvorlagen und Einstellungen: Passen Sie PDF-Layouts mit Kopf- und Fußzeilen, Seitenzahlen, einstellbaren Rändern, benutzerdefinierten Papierformaten und responsivem Design individuell an.
  • Einhaltung von Standards: Strikte Einhaltung von PDF-Standards wie PDF/A und PDF/UA, um die Kompatibilität mit der UTF-8-Zeichenkodierung zu gewährleisten. 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 einen synthetischen Timeseries DataFrame (df) zu generieren. Gibt die ersten 10 Zeilen (df.head(10)) aus und berechnet den stündlichen Mittelwert DataFrame (dfmean) basierend auf den Spalten "x" und "y".
  2. IronPDF-Nutzung: Setzt den IronPDF-Lizenzschlüssel mit License.LicenseKey. Erstellt einen HTML-String (content) mit Kopfzeilen und Daten aus den generierten und berechneten DataFrames, rendert dann diesen HTML-Inhalt in ein PDF (pdf) mit ChromePdfRenderer() und speichert das PDF schließlich 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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me