#!/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相关推荐

  1. apply筛选 pandas_更快的pandas.apply搜索方法

    python3中的字典类型用了哈希排列,速度很快.到底有多快呢. 最近写数据分析代码,有一个筛选程序,在使用pandas.apply的过程中,在apply过程中使用了loc函数,速度很慢.为了提高速度 ...

  2. Python小练习2:pandas.Dataframe使用方法示例demo

    pandas.Dataframe使用方法示例demo 本文通过一个实例来介绍pandas.Dataframe的各种常用操作,问题总结并修改自coursera上南京大学的课程:用Python玩转数据. ...

  3. pandas apply函数_Pandas学习笔记(四)

    前言 上一篇我们研究了Pandas的级联,这一节从如何在DataFrame中处理重复数据开始. 在DataFrame中查找不重复的数据 在实际数据集中,经常会有大量重复的数据,为了去除重复,找到那些唯 ...

  4. 解决pandas apply返回多个值时报错:ValueError: too many values to unpack

    解决方法 方法一:把 df.apply(function, axis=1)改为:zip(*df.apply(function, axis=1)) 方法二:修改apply循环的那个函数,使其在传入的se ...

  5. pandas apply lambda_数据分析必备!Pandas实用手册(PART III)

    这一系列的对应代码,大家可以在我共享的colab上把玩, ? https://colab.research.google.com/drive/1WhKCNkx6VnX1TS8uarTICIK2ViPz ...

  6. 【python爬虫】Pycharm+Scrapy+win10搭建scrapy开发环境+运行一个Demo

    准备工作 基础环境准备 win10 pycharm python3(同时保证有pip环境) scrapy环境准备 打开网址https://www.lfd.uci.edu/~gohlke/pythonl ...

  7. java demo在哪里下载_[Java教程]Java学习 (一)、下载,配置环境变量,第一个demo...

    [Java教程]Java学习 (一).下载,配置环境变量,第一个demo 0 2016-03-01 22:00:18 一.在 http://www.oracle.com 下载java JDK 安装到自 ...

  8. java struts2 demo,Struts2第一个Demo求指导

    Struts2第一个Demo求指点 本人初学Struts2,按照书上的示例自己写了一个Demo.配置文件及路径如下: login.jsp: pageEncoding="UTF-8" ...

  9. 支付宝小程序面向个人开放了!我将以一个 Demo 为例讲解整个流程。

    Hello,我是犯迷糊的小 K.目前是 ifanr 的一只前端攻城狮,同时也是知晓云团队的一员. 3 月伊始,ifanr 旗下品牌--知晓云 3.0 版本正式上线.此次更新得到业内许多开发者的密切关注 ...

最新文章

  1. docker学习路程之部署一个nginx
  2. SpringBoot高级-任务-异步任务
  3. LinuxC-运算符
  4. 怎么向小学生解释欧拉公式 e^(πi)+1=0?
  5. [Leetcode][第657题][JAVA][机器人能否返回原点][数组][HashMap]
  6. python五子棋人机对战_Python:游戏:五子棋之人机对战
  7. python不支持的数据类型有achar bint cfloat dlist_第1篇:Cython的数据类型(第二部分)
  8. java程序员从笨鸟到菜鸟之_Java程序员从笨鸟到菜鸟之(二)面向对象之封装,继承,多态(上)...
  9. 教你使用 IDEA 配置和运行vue项目
  10. mysql 备份脚本 linux,LINUX中MySQL如何按时备份脚本
  11. [转]sql server 2005 中的内连接和外连接
  12. 【协作通信】基于matlab协作通信仿真【含Matlab源码 1006期】
  13. 大学课程 | 《计算机系统结构》详细知识点总结
  14. 比较好用的学习、工具网站推荐
  15. 数据挖掘系列篇(10):大众点评的实时计算
  16. ip地址占用检测,ping ip地址
  17. 微信发朋友圈的测试用例【详细测试用例】
  18. jenkins 配置代理
  19. 使用高德地图做经纬度转换( 把GPS 转高德的经纬度 )
  20. grasscutter 使用指南——Android/Windows/IOS端均已支持

热门文章

  1. Java 的这些坑,你踩到了吗?
  2. 蒸发器分段设计matlab程序_制冷系统蒸发器过热度控制回路的MATLAB仿真_何煜
  3. 面向对象的程序设计在游戏开发中使用(一):类
  4. 解决gc current request等待事件
  5. Win7删除休眠文件
  6. oracle中minus
  7. 浅谈unity中gamma空间和线性空间
  8. SpringSecurityOAuth使用JWT Token实现SSO单点登录
  9. oppo设备怎么样无需root激活XPOSED框架的教程
  10. uva 753(网络流最大流)