python多进程并发demo实例解析


Posted in Python onDecember 13, 2019

这篇文章主要介绍了python多进程并发demo实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前言

下午需要简单处理一份数据,就直接随手写脚本处理了,但发现效率太低,速度太慢,就改成多进程了;

程序涉及计算、文件读写,鉴于计算内容挺多的,就用多进程了(计算密集)。

代码

import pandas as pd
from pathlib import Path
from concurrent.futures import ProcessPoolExecutor

parse_path = '/data1/v-gazh/CRSP/dsf_full_fields/parse'
source_path = '/data1/v-gazh/CRSP/dsf_full_fields/2th_split' # 目录中有3.3W个csv文件,串行的话,效率大打折扣


def parseData():
  source_path_list = list(Path(source_path).glob('*.csv'))
  multi_process = ProcessPoolExecutor(max_workers=20)
  multi_results = multi_process.map(func, source_path_list)


def func(p):
  source_p = str(p)
  parse_p = str(p).replace('2th_split', 'parse')
  df = pd.read_csv(source_p)
  df['date'] = pd.to_datetime(df['date'].astype(str)).dt.date
  df.sort_values(['date'], inplace=True)
  # 处理close为负的值(abs),添加status标识
  df['is_close'] = df['PRC'].map(lambda x: 0 if x < 0 or pd.isna(x) else 1)
  df['PRC'] = df['PRC'].abs()
  df.rename(columns={'CFACPR': 'factor'}, inplace=True)
  df['adj_low'] = df['BIDLO'] * df['factor']
  df['adj_high'] = df['ASKHI'] * df['factor']
  df['adj_close'] = df['PRC'] * df['factor']
  df['adj_open'] = df['OPENPRC'] * df['factor']
  df['adj_volume'] = df['VOL'] / df['factor']
  # calc change
  df['change'] = df['adj_close'].diff(1) / df['adj_close'].shift(1) df.drop_duplicates(inplace=True)
  df.to_csv(parse_p, index=False)
parseData()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python之yield表达式学习
Sep 02 Python
Python列表(list)常用操作方法小结
Feb 02 Python
六个窍门助你提高Python运行效率
Jun 09 Python
实现python版本的按任意键继续/退出
Sep 26 Python
Zabbix实现微信报警功能
Oct 09 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
python实现按关键字筛选日志文件
Dec 24 Python
Python itertools.product方法代码实例
Mar 27 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
Python机器学习三大件之一numpy
May 10 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 #Python
python plotly画柱状图代码实例
Dec 13 #Python
Pytorch实现的手写数字mnist识别功能完整示例
Dec 13 #Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 #Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 #Python
python多进程重复加载的解决方式
Dec 13 #Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 #Python
You might like
PHP开发入门教程之面向对象
2006/12/05 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
js判断是否是手机页面
2017/03/17 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
详解JS预解析原理
2020/06/16 Javascript
Django实现简单分页功能的方法详解
2017/12/05 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
检举信的格式及范文
2014/04/04 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
培训班开班主持词
2015/07/02 职场文书
公司中层管理培训心得体会
2016/01/11 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang