跟我一起学点数据分析 --第七天:Dask并行计算框架

在这里插入图片描述

前文回顾

跟我一起学点数据分析 --第六天:数据可视化(seaborn部)


Dask框架

Dask是一款用于分析计算的灵活并行计算库。

安装啥的实在没什么好讲的,用的时候啊,这是个包,所以要直接导入里面的模块,碧如:import dask.dataframe

使用Dask进行数据分析

在数据分析过程中,dask的内核依旧是使用pandas,只是在其外部包裹了一层并行计算的框架。

import dask.dataframe as dd

df = dd.read_csv('movie.csv',assume_missing=True)

print(df.head(5).T)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

这个过程中能会报错,比如说没有完全安装,但是它会跟你说怎么完全安装。
又比如说需要assume_missing这个参数,以前都没见过,反正加上去就是了。

然后你就会发现,其实代码跟pandas也没什么太大的差别。


不同之处

1、compute获取计算结果

import dask.dataframe as dd

df = dd.read_csv('movie.csv',assume_missing=True)

print(df.describe().compute())

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

你不信把compute去掉试试看它会出来什么玩意儿。
它会跟你说有多少个计算任务在等待。

2、有些方法不支持所有参数

这个就需要自己去发现了,比如说value_counts就不支持bins、sortby、normalize、ascending这些的。

3、建议

在计算大数据集的时候,建议先拿一小部分数据集进行基准测试。
大概估摸一下时间。


搭建Dask并行计算方式

1、 在命令行下输入pip install dask[complete] (如果已经安装好这个库了就会提示已经安装好了)
库是一定要安装的。

2、命令行条件下, 输入dask-scheduler。
在这里插入图片描述

3、看到TCP地址和端口号了吗?
(查看任务管理器状态:http://地址)

4、接下来启动客户端(再开个终端):dask-worker tcp://地址
如果要开多个客户端的话,就改一下后面的端口号就行啦。

5、连接管理器后提交任务

import dask.dataframe as dd

from dask.distributed import Client

df = dd.read_csv('movie.csv',assume_missing=True)

client = Client(address='192.168.0.102:8786')

df.groupby('duration').duration.count().compute()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

话不多说,我妈喊我去吃饭了。

在这里插入图片描述

文章来源: lion-wu.blog.csdn.net,作者:看,未来,版权归原作者所有,如需转载,请联系作者。

原文链接:lion-wu.blog.csdn.net/article/details/112667784

(完)