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相关推荐
- apply筛选 pandas_更快的pandas.apply搜索方法
python3中的字典类型用了哈希排列,速度很快.到底有多快呢. 最近写数据分析代码,有一个筛选程序,在使用pandas.apply的过程中,在apply过程中使用了loc函数,速度很慢.为了提高速度 ...
- Python小练习2:pandas.Dataframe使用方法示例demo
pandas.Dataframe使用方法示例demo 本文通过一个实例来介绍pandas.Dataframe的各种常用操作,问题总结并修改自coursera上南京大学的课程:用Python玩转数据. ...
- pandas apply函数_Pandas学习笔记(四)
前言 上一篇我们研究了Pandas的级联,这一节从如何在DataFrame中处理重复数据开始. 在DataFrame中查找不重复的数据 在实际数据集中,经常会有大量重复的数据,为了去除重复,找到那些唯 ...
- 解决pandas apply返回多个值时报错:ValueError: too many values to unpack
解决方法 方法一:把 df.apply(function, axis=1)改为:zip(*df.apply(function, axis=1)) 方法二:修改apply循环的那个函数,使其在传入的se ...
- pandas apply lambda_数据分析必备!Pandas实用手册(PART III)
这一系列的对应代码,大家可以在我共享的colab上把玩, ? https://colab.research.google.com/drive/1WhKCNkx6VnX1TS8uarTICIK2ViPz ...
- 【python爬虫】Pycharm+Scrapy+win10搭建scrapy开发环境+运行一个Demo
准备工作 基础环境准备 win10 pycharm python3(同时保证有pip环境) scrapy环境准备 打开网址https://www.lfd.uci.edu/~gohlke/pythonl ...
- java demo在哪里下载_[Java教程]Java学习 (一)、下载,配置环境变量,第一个demo...
[Java教程]Java学习 (一).下载,配置环境变量,第一个demo 0 2016-03-01 22:00:18 一.在 http://www.oracle.com 下载java JDK 安装到自 ...
- java struts2 demo,Struts2第一个Demo求指导
Struts2第一个Demo求指点 本人初学Struts2,按照书上的示例自己写了一个Demo.配置文件及路径如下: login.jsp: pageEncoding="UTF-8" ...
- 支付宝小程序面向个人开放了!我将以一个 Demo 为例讲解整个流程。
Hello,我是犯迷糊的小 K.目前是 ifanr 的一只前端攻城狮,同时也是知晓云团队的一员. 3 月伊始,ifanr 旗下品牌--知晓云 3.0 版本正式上线.此次更新得到业内许多开发者的密切关注 ...
最新文章
- docker学习路程之部署一个nginx
- SpringBoot高级-任务-异步任务
- LinuxC-运算符
- 怎么向小学生解释欧拉公式 e^(πi)+1=0?
- [Leetcode][第657题][JAVA][机器人能否返回原点][数组][HashMap]
- python五子棋人机对战_Python:游戏:五子棋之人机对战
- python不支持的数据类型有achar bint cfloat dlist_第1篇:Cython的数据类型(第二部分)
- java程序员从笨鸟到菜鸟之_Java程序员从笨鸟到菜鸟之(二)面向对象之封装,继承,多态(上)...
- 教你使用 IDEA 配置和运行vue项目
- mysql 备份脚本 linux,LINUX中MySQL如何按时备份脚本
- [转]sql server 2005 中的内连接和外连接
- 【协作通信】基于matlab协作通信仿真【含Matlab源码 1006期】
- 大学课程 | 《计算机系统结构》详细知识点总结
- 比较好用的学习、工具网站推荐
- 数据挖掘系列篇(10):大众点评的实时计算
- ip地址占用检测,ping ip地址
- 微信发朋友圈的测试用例【详细测试用例】
- jenkins 配置代理
- 使用高德地图做经纬度转换( 把GPS 转高德的经纬度 )
- grasscutter 使用指南——Android/Windows/IOS端均已支持