在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
Python 是一種強大的資料分析和機器學習語言,但處理大型資料集對資料分析來說可能具有挑戰性。 這就是Dask進來。 Dask 是一個開源庫,提供先進的並行化功能用於分析,能夠在超過單台機器內存容量的大型數據集上進行高效計算。在本文中,我們將探討 Dask 庫的基本用法以及另一個非常有趣的 PDF 生成庫,稱為IronPDF從Iron Software生成 PDF 文件。
Dask旨在將您的 Python 程式碼從單台筆記型電腦擴展到大型叢集。 它與流行的 Python 庫(如 NumPy、pandas 和 scikit-learn)無縫整合,以在不進行重大代碼更改的情況下實現並行執行。
並行運算:Dask允許您同時執行多個任務,大大加快計算速度。
可擴展性:它可以通過將數據集分成更小的塊並並行處理來處理比記憶體更大的數據集。
相容性:與現有的 Python 程式庫兼容良好,便於整合到您目前的流程中。
您可以使用 pip 安裝 Dask:
pip install dask[complete]
以下是一個簡單的範例,用於演示 Dask 如何將計算並行化:
import dask.array as da
# Create a large Dask array
x = da.random.random((10, 10), chunks=(10, 10))
print('Gneerated Input')
print(x.compute())
# Perform a computation
result = x.mean().compute()
print('Gneerated Mean')
print(result)
在此示例中,Dask 創建了一個大型數組並將其劃分為較小的塊。 計算()方法觸發平行計算並返回結果。 任務圖在內部用於實現 Python Dask 中的並行計算。
Dask DataFrames 類似於 pandas DataFrames,但設計用來處理大於記憶體的數據集。 以下是一個範例:
import dask
df = dask.datasets.timeseries()
print('\n\nGenerated DataFrame')
print(df.head(10))
print('\n\nComputed Mean Hourly DataFrame')
print(df[["x", "y"]].resample("1h").mean().head(10))
此程式碼展示了 Dask 處理時間序列數據、生成合成數據集以及通過其平行處理能力高效計算每小時平均值等聚合運算的能力。 使用多個 Python 處理程序、分佈式排程器和多個核心計算資源,在 Python Dask DataFrames 中實現平行計算。
從小開始:先從小型數據集著手,以了解 Dask 的運作方式,再逐步擴展。
使用儀表板:Dask 提供一個儀表板來監控計算的進度和性能。
IronPDF是一個強大的 Python 函式庫,專為使用 HTML、CSS、圖像和 JavaScript 創建、編輯和簽署 PDF 文件而設計。 它強調性能效率並盡量減少記憶體使用量。 主要功能包括:
pip install ironpdf
pip install dask
確保已安裝 Visual Studio Code
已安裝 Python 3 版本
首先,讓我們創建一個 Python 文件來添加我們的腳本。
打開 Visual Studio Code 並創建一個名為 daskDemo.py 的文件。
安裝必要的庫:
pip install dask
pip install ironpdf
然後添加以下 Python 代碼來展示 IronPDF 和 Dask python 套件的使用
import dask
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
df = dask.datasets.timeseries()
print('\n\nGenerated DataFrame')
print(df.head(10))
print('\n\nComputed Mean Hourly DataFrame')
dfmean = df[["x", "y"]].resample("1h").mean().head(10)
print(dfmean)
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with Dask</h1>"
content += "<h2>Generated DataFrame (First 10)</h2>"
rows = df.head(10)
for i in range(10):
row = df.head(10).iloc[i]
content += f"<p>{str(row[0])}, {str(row[2])}, {str(row[3])}</p>"
content += "<h2>Computed Mean Hourly DataFrame (First 10)</h2>"
for i in range(10):
row = dfmean.head(10).iloc[i]
content += f"<p>{str(row[0])}</p>"
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("DemoIronPDF-Dask.pdf")
此代碼片段整合了Dask進行數據處理和IronPDF進行PDF生成。 它展示了:
Dask 整合:使用 `dask.datasets.timeseries`()` 生成合成時間序列DataFrame(`df`). 列印前 10 行(`df.head(10))並計算每小時的平均數據框(`dfmean`)根據欄位「x」和「y」。
IronPDF 使用:透過 `License.LicenseKey` 設定 IronPDF 授權密鑰。 創建一個 HTML 字串(內容
)包含來自生成和計算的DataFrame的標題和數據。
將此 HTML 內容轉換為 PDF(`pdf`)使用 ChromePdfRenderer
()`.
將 PDF 儲存為 "DemoIronPDF-Dask.pdf"。
此程式碼結合了Dask的大規模資料操控功能和IronPDF的HTML內容轉換為PDF文件的功能。
IronPDF授權密鑰允許用戶在購買前試用其豐富的功能。
在使用前,將授權金鑰放置於腳本的開始處。IronPDF 套件:
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
Dask是一個多功能的工具,可以顯著提升您在 Python 中的數據處理能力。 透過啟用平行和分散式計算,它讓您能夠高效地處理大型數據集,並無縫整合到您現有的Python生態系統中。 IronPDF是一個強大的 Python 庫,用於使用 HTML、CSS、圖像和 JavaScript 創建和處理 PDF 文件。 它提供了 HTML 到 PDF 的轉換、PDF 編輯、數位簽署和跨平台支持等功能,使其適合在 Python 應用中執行各種文件生成和管理任務。
透過這兩個程式庫,數據科學家可以執行高級數據分析和數據科學運算。 然後使用IronPDF將輸出結果存儲為標準PDF格式。