PYTHON帮助

Dask Python(它是如何为开发人员工作的)

查克尼特·宾
查克尼特·宾
2024年八月13日
分享:

介绍

Python 是一种功能强大的数据分析和机器学习语言,但处理大型数据集对于数据分析来说是一项挑战。 这就是Dask发挥作用的地方。 Dask 是一个开源库,提供高级并行化功能,能够对超出单台机器内存容量的大型数据集进行高效计算。本文将探讨 Dask 库的基本用法和另一个非常有趣的 PDF 生成库,名为 IronPDF,由 Iron 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 创建了一个大数组,并将其分割成小块。 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))
PYTHON

代码展示了 Dask 处理时间序列数据、生成合成数据集以及利用其并行处理能力高效计算聚合(如按小时计算)的能力。 Python Dask DataFrames 中使用多个 Python 进程、分布式调度程序和多核计算资源来实现并行计算。

输出

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 代码并创建文件 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 和用于生成 PDF 的 IronPDF。 它展示了

  1. Dask集成:使用`dask.datasets.timeseries()`生成一个合成的时间序列数据框架(`df`)。 打印前10行(`df.head(10)`),并基于“x”和“y”列计算每小时的平均`dfmean`。

  2. IronPDF 用法:使用 `License.LicenseKey` 设置 IronPDF 许可证密钥。 创建一个包含生成和计算的DataFrames中标题和数据的HTML字符串(`content`)。

    使用`ChromePdfRenderer()`将此HTML内容渲染为PDF (`pdf`)。

    将 PDF 保存为 "DemoIronPDF-Dask.pdf"。

    该代码结合了 Dask 的大规模数据操作能力和 IronPDF 将 HTML 内容转换为 PDF 文档的功能。

输出

Dask Python(为开发人员工作原理):图4

PDF

Dask Python(它如何为开发人员工作):图 5

IronPDF 许可证

IronPDF 许可证密钥,允许用户在购买前查看其广泛功能。

在使用IronPDF package之前,请将许可证密钥放在脚本的开头:

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 格式。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
加密 Python(开发者如何使用)
下一步 >
Wand Python(如何为开发者工作)

准备开始了吗? 版本: 2025.4 刚刚发布

查看许可证 >