PYTHON ヘルプ

Dask Python (開発者のための仕組み)

イントロダクション

Pythonはデータ分析や機械学習のための強力な言語ですが、大規模なデータセットを扱うことはデータ分析にとって困難です。 ここでDaskが役立ちます。 Daskは、分析のための高度な並列化を提供するオープンソースライブラリであり、1台のマシンのメモリ容量を超える大規模データセットの効率的な計算を可能にします。この記事では、Daskライブラリの基本的な使い方と、IronPDFというPDF生成に非常に興味深いライブラリを使用してPDFドキュメントを生成する方法を紹介します。Iron Softwareからのこのライブラリです。

なぜDaskを使うのですか?

Daskは、Pythonコードを単一のラップトップから大規模なクラスターにスケールアップするために設計されています。 NumPy、pandas、scikit-learnのような一般的なPythonライブラリとシームレスに統合され、コードを大幅に変更することなく並列実行を可能にする。

Daskの主な特徴

  1. 並列コンピューティング: Daskを使用すると、複数のタスクを同時に実行でき、計算を大幅に高速化します。

  2. スケーラビリティ: メモリよりも大きなデータセットをより小さなチャンクに分割し、並行して処理することで対応できます。

  3. 互換性: 既存のPythonライブラリと良く連携し、現在のワークフローに簡単に統合できます。

  4. 柔軟性: Pandas、NumPy、およびリストをそれぞれ模倣するDask DataFrame、タスクグラフ、Dask Array、Dask Cluster、Dask Bagのような高レベルのコレクションを提供します。

Daskを始める

インストール

Daskはpipを使ってインストールできます:

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

基本的な使用法

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

この例では、Daskは大きな配列を作成し、それを小さなチャンクに分割している。 compute() メソッドは並列計算をトリガーし、結果を返します。 タスクグラフは、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))
py
PYTHON

このコードでは、Daskの並列処理機能を活用して、時系列データの処理、合成データセットの生成、時間ごとの平均値のような集計を効率的に計算する能力を紹介しています。 Python Dask DataFramesの並列計算を実現するために、複数のPythonプロセス、分散スケジューラ、マルチコアの計算リソースが使用されています。

出力

Dask Python(開発者向けの仕組み):図2

ベストプラクティス

  1. 小さく始める: Daskの仕組みを理解するために、小規模なデータセットから始めて拡張していきましょう。

  2. ダッシュボードの使用: Daskは計算の進捗とパフォーマンスを監視するためのダッシュボードを提供します。

  3. チャンクサイズの最適化: メモリ使用量と計算速度のバランスを取るために適切なチャンクサイズを選択します。

IronPDFの紹介

Dask Python (開発者向けの動作方法): 図 3 - IronPDF: The Python PDF Library

IronPDFは、HTML、CSS、画像、およびJavaScriptを使用してPDFドキュメントを作成、編集、署名するために設計された強力なPythonライブラリです。 メモリ使用量を最小限に抑え、パフォーマンス効率を重視している。 主要な機能には次のものが含まれます:

  • HTMLをPDFに変換: ChromeのPDFレンダリング機能を活用して、HTMLファイル、文字列、およびURLを簡単にPDFドキュメントに変換します。
  • クロスプラットフォームのサポート:Windows、Mac、Linux、さまざまなクラウドプラットフォーム上のPython 3+でシームレスに動作します。 .NET、Java、Python、Node.js環境にも対応している。
  • 編集と署名: PDFプロパティをカスタマイズし、パスワードや権限などのセキュリティ対策を適用し、デジタル署名をスムーズに追加します。
  • ページテンプレートと設定: ヘッダー、フッター、ページ番号、調整可能な余白、カスタム用紙サイズ、レスポンシブデザインを使用してPDFレイアウトをカスタマイズします。
  • 標準への準拠: PDF/AやPDF/UAなどのPDF標準に厳密に準拠し、UTF-8文字エンコーディングの互換性を確保。 画像、CSSスタイルシート、フォントなどの資産の効率的な管理もサポートされています。

インストール

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

IronPDFとDaskを使ってPDFドキュメントを生成します。

前提条件

  1. Visual Studio Codeがインストールされていることを確認する

  2. Pythonバージョン3がインストールされている。

    まず始めに、スクリプトを追加する Python ファイルを作成します。

    Visual Studio Code を開き、daskDemo.py というファイルを作成します。

    必要なライブラリをインストールする:

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

そしてIronPDFとDask Pythonパッケージの使い方を示すために以下の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")
py
PYTHON

コードの説明

このコードスニペットは、データ処理のためのDaskとPDF生成のためのIronPDFを統合しています。 それを示している:

  1. Dask Integration: 合成タイムシリーズDataFrame(`df`)を生成するために`dask.datasets.timeseries()`を使用します。 最初の10行を印刷します (df.head(10)) と、"x"および"y"列に基づいて時間別の平均DataFrame (dfmean) を計算します。

  2. IronPDF 使用法: License.LicenseKey\ を使用して IronPDF のライセンスキーを設定します。 生成されたおよび計算されたDataFrameからヘッダーとデータを含むHTML文字列(`content`)を作成します。

    このHTMLコンテンツを`ChromePdfRenderer()を使用してPDF (\pdf`)にレンダリングします。

    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"
py
PYTHON

結論

Daskは、Pythonでのデータ処理能力を大幅に向上させることができる多用途なツールです。 並列分散コンピューティングを可能にすることで、大規模なデータセットを効率的に扱うことができ、既存のPythonエコシステムとシームレスに統合することができます。 IronPDF は、HTML、CSS、画像、JavaScript を使用して PDF ドキュメントを作成および操作するための強力な Python ライブラリです。 HTMLからPDFへの変換、PDF編集、電子署名、クロスプラットフォームのサポートなどの機能を提供し、Pythonアプリケーションにおける様々な文書生成や管理タスクに適しています。

データサイエンティストは、この2つのライブラリを併用することで、高度なデータ分析やデータサイエンス業務を行うことができる。 そしてIronPDFを使って出力結果を標準的なPDFフォーマットで保存します。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
暗号技術 Python (開発者のための仕組み)
次へ >
Wand Python (開発者のための仕組み)