一. 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

pandas(用户画像)-LMLPHP

df = dd.read_csv("./淘宝店铺用户行为.csv",blocksize=128e6).iloc[:,1:]

pandas(用户画像)-LMLPHP

df.compute()

pandas(用户画像)-LMLPHP

with ProgerssBar()

with ProgressBar():
    df.isnull().compute()

pandas(用户画像)-LMLPHP

二. 闭包

# 模仿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()

pandas(用户画像)-LMLPHP

# 定义 元素 返回 元素 + 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()

pandas(用户画像)-LMLPHP

04-14 15:24