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 自动化将markdown文件转成html文件的方法
Sep 23 Python
python 开发的三种运行模式详细介绍
Jan 18 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
使用python实现ftp的文件读写方法
Jul 02 Python
python IDLE添加行号显示教程
Apr 25 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
简单的命令查看安装的python版本号
Aug 28 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
Oct 02 Python
Python数据清洗工具之Numpy的基本操作
Apr 22 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
session 加入redis的实现代码
2016/07/15 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
详解js常用分割取字符串的方法
2019/05/15 Javascript
[49:05]OG vs Newbee 2019DOTA2国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
Python操作Word批量生成文章的方法
2015/07/28 Python
python学习 流程控制语句详解
2016/06/01 Python
Python标准库06之子进程 (subprocess包) 详解
2016/12/07 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
PyQt5组件读取参数的实例
2019/06/25 Python
python绘制多个子图的实例
2019/07/07 Python
python3 线性回归验证方法
2019/07/09 Python
python常用数据重复项处理方法
2019/11/22 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
美国在线印刷公司:PsPrint
2017/10/12 全球购物
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
什么是serialVersionUID
2016/03/04 面试题
国贸专业个人求职信范文
2014/01/08 职场文书
本科应届生自荐信
2014/06/29 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
雷锋的故事观后感
2015/06/10 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python