日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pandas,apply并行计算的一个demo

發布時間:2024/7/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pandas,apply并行计算的一个demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2018-10-11 17:55:26 # @Author : Sheldon (thisisscret@qq.com) # @blogs : 謝耳朵的派森筆記 # @Link : https://www.cnblogs.com/shld/ import pandas as pd from joblib import Parallel, delayeddef apply_parallel(df, func, n=-2):"""利用 Parallel 和 delayed 函數實現并行運算,思路是把Dataframe分割喂給包含apply的函數@params df: 需要apply的Dataframe@params func: 包含apply的函數,(不是apply的參數那個函數),需自己定義,@params n: n為線程數,默認為cpu數-1,-1為cpu數,可自定義@return Dataframe: apply參數函數得到的Dataframe
   """if n is None:n = -1dflength = len(df)cpunum = cpu_count()if dflength<cpunum:spnum = dflengthif n<0:spnum = cpunum+n+1else:spnum = n or 1sp = list(range(dflength)[::int(dflength/spnum+0.5)])sp.append(dflength)slice_gen = (slice(*idx) for idx in zip(sp[:-1],sp[1:]))results = Parallel(n_jobs=n)(delayed(func)(df[slc]) for slc in slice_gen)return pd.concat(results)

轉載于:https://www.cnblogs.com/shld/p/9774180.html

總結

以上是生活随笔為你收集整理的pandas,apply并行计算的一个demo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。