PYTHON 幫助

Dask Python(對開發者的運作方式)

發佈 2024年8月13日
分享:

介紹

Python 是一種強大的資料分析和機器學習語言,但處理大型資料集對資料分析來說可能具有挑戰性。 這就是Dask進來。 Dask 是一個開源庫,提供先進的並行化功能用於分析,能夠在超過單台機器內存容量的大型數據集上進行高效計算。在本文中,我們將探討 Dask 庫的基本用法以及另一個非常有趣的 PDF 生成庫,稱為IronPDFIron Software生成 PDF 文件。

為什麼使用Dask?

Dask旨在將您的 Python 程式碼從單台筆記型電腦擴展到大型叢集。 它與流行的 Python 庫(如 NumPy、pandas 和 scikit-learn)無縫整合,以在不進行重大代碼更改的情況下實現並行執行。

Dask 的主要功能

  1. 並行運算:Dask允許您同時執行多個任務,大大加快計算速度。

  2. 可擴展性:它可以通過將數據集分成更小的塊並並行處理來處理比記憶體更大的數據集。

  3. 相容性:與現有的 Python 程式庫兼容良好,便於整合到您目前的流程中。

  4. 靈活性:提供如 Dask DataFrame、任務圖、Dask Array、Dask Cluster 和 Dask Bag 等高級集合,分別模仿 pandas、NumPy 和列表。

入門Dask

安裝

您可以使用 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)
PYTHON

在此示例中,Dask 創建了一個大型數組並將其劃分為較小的塊。 計算()方法觸發平行計算並返回結果。 任務圖在內部用於實現 Python Dask 中的並行計算。

輸出

Dask Python(開發人員的工作方式):圖 1

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))
PYTHON

此程式碼展示了 Dask 處理時間序列數據、生成合成數據集以及通過其平行處理能力高效計算每小時平均值等聚合運算的能力。 使用多個 Python 處理程序、分佈式排程器和多個核心計算資源,在 Python Dask DataFrames 中實現平行計算。

輸出

Dask Python(對開發者的運作方式):圖2

最佳實踐

  1. 從小開始:先從小型數據集著手,以了解 Dask 的運作方式,再逐步擴展。

  2. 使用儀表板:Dask 提供一個儀表板來監控計算的進度和性能。

  3. 優化塊大小:選擇適當的塊大小以平衡記憶體使用和計算速度。

介紹 IronPDF

Dask Python(對開發者的運作方式):圖 3 - IronPDF:Python PDF 庫

IronPDF是一個強大的 Python 函式庫,專為使用 HTML、CSS、圖像和 JavaScript 創建、編輯和簽署 PDF 文件而設計。 它強調性能效率並盡量減少記憶體使用量。 主要功能包括:

  • HTML 轉換為 PDF:輕鬆將 HTML 文件、字串和 URL 轉換為 PDF 文件,利用 Chrome PDF 渲染功能。
  • 跨平台支援:在 Windows、Mac、Linux 以及各種雲端平台上無縫運作於 Python 3+。 它也兼容於 .NET、Java、Python 和 Node.js 環境。
  • 編輯和簽署:自訂 PDF 屬性,應用密碼和權限等安全措施,並無縫新增數位簽章。
  • 頁面模板和設置:可定制 PDF 版面,包括頁眉、頁腳、頁碼、可調整的邊距、自定義紙張尺寸和響應式設計。
  • 標準合規性:嚴格遵循 PDF 標準,如 PDF/A 和 PDF/UA,確保 UTF-8 字元編碼相容性。 還支援高效管理圖像、CSS樣式表和字體等資產。

安裝

pip install ironpdf 
pip install dask

使用IronPDF和Dask生成PDF文件。

先決條件

  1. 確保已安裝 Visual Studio Code

  2. 已安裝 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")
PYTHON

程式碼說明

此代碼片段整合了Dask進行數據處理和IronPDF進行PDF生成。 它展示了:

  1. Dask 整合:使用 `dask.datasets.timeseries`()` 生成合成時間序列DataFrame(`df`). 列印前 10 行(`df.head(10))並計算每小時的平均數據框(`dfmean`)根據欄位「x」和「y」。

  2. IronPDF 使用:透過 `License.LicenseKey` 設定 IronPDF 授權密鑰。 創建一個 HTML 字串(內容)包含來自生成和計算的DataFrame的標題和數據。

    將此 HTML 內容轉換為 PDF(`pdf`)使用 ChromePdfRenderer()`.

    將 PDF 儲存為 "DemoIronPDF-Dask.pdf"。

    此程式碼結合了Dask的大規模資料操控功能和IronPDF的HTML內容轉換為PDF文件的功能。

輸出

Dask Python(它對開發者的運作方式):圖 4

PDF

Dask Python(它如何為開發者工作):圖5

IronPDF 授權

IronPDF授權密鑰允許用戶在購買前試用其豐富的功能。

在使用前,將授權金鑰放置於腳本的開始處。IronPDF 套件:

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

結論

Dask是一個多功能的工具,可以顯著提升您在 Python 中的數據處理能力。 透過啟用平行和分散式計算,它讓您能夠高效地處理大型數據集,並無縫整合到您現有的Python生態系統中。 IronPDF是一個強大的 Python 庫,用於使用 HTML、CSS、圖像和 JavaScript 創建和處理 PDF 文件。 它提供了 HTML 到 PDF 的轉換、PDF 編輯、數位簽署和跨平台支持等功能,使其適合在 Python 應用中執行各種文件生成和管理任務。

透過這兩個程式庫,數據科學家可以執行高級數據分析和數據科學運算。 然後使用IronPDF將輸出結果存儲為標準PDF格式。

< 上一頁
加密 Python(它的工作原理對於開發人員)
下一個 >
Wand Python(它對開發者的工作原理)

準備開始了嗎? 版本: 2024.11.1 剛剛發布

免費 pip 安裝 查看許可證 >