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生成验证码实例
Aug 21 Python
python实现的希尔排序算法实例
Jul 01 Python
举例简单讲解Python中的数据存储模块shelve的用法
Mar 03 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
python全栈要学什么 python全栈学习路线
Jun 28 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
Python csv模块使用方法代码实例
Aug 29 Python
使用python模拟高斯分布例子
Dec 09 Python
pytorch 实现模型不同层设置不同的学习率方式
Jan 06 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 Python
Pytorch之扩充tensor的操作
Mar 04 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/10/09 PHP
打造计数器DIY三步曲(中)
2006/10/09 PHP
php使用websocket示例详解
2014/03/12 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
PHP实现微信退款功能
2018/10/02 PHP
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
javascript闭包的理解
2015/04/01 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
Python元字符的用法实例解析
2018/01/17 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
python和c语言的主要区别总结
2019/07/07 Python
Selenium自动化测试工具使用方法汇总
2020/06/12 Python
django使用graphql的实例
2020/09/02 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
PHP如何自定义函数
2016/09/16 面试题
企业宣传方案
2014/03/04 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
财务负责人任命书
2014/06/06 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers