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程序的执行原理
Apr 11 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
python通过百度地图API获取某地址的经纬度详解
Jan 28 Python
对python list 遍历删除的正确方法详解
Jun 29 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
python 自定义对象的打印方法
Jan 12 Python
pandas dataframe添加表格框线输出的方法
Feb 08 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
python matplotlib实现将图例放在图外
Apr 17 Python
python爬取youtube视频的示例代码
Mar 03 Python
python基础之文件操作
Oct 24 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(5) 类和对象
2010/02/16 PHP
php ci框架验证码实例分析
2013/06/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
[01:17:55]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
python实现共轭梯度法
2019/07/03 Python
python requests使用socks5的例子
2019/07/25 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
如何理解transaction事务的概念
2015/05/27 面试题
采购主管的岗位职责
2013/12/17 职场文书
女方回门宴答谢词
2014/01/14 职场文书
11月红领巾广播稿
2014/01/17 职场文书
模具设计与制造专业推荐信
2014/02/16 职场文书
节约电力资源的建议书
2014/03/12 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
MySQL的存储过程和相关函数
2022/04/26 MySQL