一. dask
from dask import dataframe as dd
from dask import array as da
import pandas as pd
from dask.diagnostics import ProgressBar
# 随机生成 50行100列的 1-100数字内的 (用的是dask方法)
a = da.random.randint(1,100,[50,100],dtype="int32")
a
# 才可以显示全部数据
a.compute()
a
df = dd.read_csv("./淘宝店铺用户行为.csv",blocksize=128e6).iloc[:,1:]
df.compute()
with ProgerssBar()
with ProgressBar():
df.isnull().compute()
二. 闭包
# 模仿map函数进行循环,这里是遍历seq中每个元素,然后将其进行 func运算后加入空列表r中
def map_(func,seq):
r = []
for v in seq:
r.append(func(v))
return r
# 这里就是直接给输入的元素+1
def inc(x):
return x+1
三 . delayed()
import dask.delayed as delayed
def item_inc(i):
return i+1
def add(x,y):
return x+y
x = delayed(item_inc)(1) #2
y = delayed(item_inc)(2) #3
z = delayed(add)(x,y)
z.visualize()
# 定义 元素 返回 元素 + 1
ef item_add(x):
return x + 1
data = [1,2,3,4,5]
# 循环data元素,每个都放入 add函数中 进行 + 1
s = [delayed(item_add)(x) for x in data]
t= delayed(np.sum)(s)
t.visualize()