python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python dask并行计算库

探索python dask灵活的并行计算库应用场景示例

作者:程序员小寒

这篇文章主要介绍了探索python dask灵活的并行计算库应用场景示例,Dask 是 Python 中的一个灵活的并行计算库,允许用户利用 CPU 内核的强大功能,对大于内存的数据集执行分布式计算

引言

今天给大家分享一个超强的 python 库,dask

https://github.com/dask/dask 

Dask 的特点

库的安装

我们可以直接使用 pip 来进行安装。

pip install dask

或者使用 conda 来安装。

conda install dask

数据集生成

我们将创建一个包含六列的虚拟数据集。

第一列是时间戳—以秒的间隔采样的二年,其他五列是随机整数值。

import numpy as np
import pandas as pd
import dask.dataframe as dd
from datetime import datetime
dates = pd.date_range(
        start=datetime(year=2022, month=1, day=1),
        end=datetime(year=2023, month=12, day=31),
        freq='s'
    )    
df = pd.DataFrame()
df['Date'] = dates   
for i in range(5):
  df[f'X{i}'] = np.random.randint(low=0, high=100, size=len(df))    
df.to_csv(f'2022.csv', index=False)

性能对比

首先,让我们使用 pandas 来运行 groupby 计算并建立性能基线。

%%timeit
df.groupby("X0").agg({"X4": "sum"})

可以看到使用 pandas 进行 groupby 操作,需要耗费 831 ms

让我们使用 Dask 运行相同的 groupby 查询。

import dask.dataframe as dd 
ddf = dd.read_csv('2022.csv')
%%timeit
ddf.groupby("X0").agg({"X4": "sum"})

对于同样的操作,使用 dask 只需要 4 ms ,性能有了显著的提升。

这是因为 pandas 仅使用 1 个 CPU 核心来运行查询。而 Dask 使用所有核心来运行计算。

以上就是探索python dask灵活的并行计算库应用场景示例的详细内容,更多关于python dask并行计算库的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文