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 相关文章推荐
Python3 入门教程 简单但比较不错
Nov 29 Python
Python复制文件操作实例详解
Nov 10 Python
python编程开发之日期操作实例分析
Nov 13 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
Mar 23 Python
Python使用pyshp库读取shapefile信息的方法
Dec 29 Python
python利用7z批量解压rar的实现
Aug 07 Python
wxPython实现文本框基础组件
Nov 18 Python
python实现手势识别的示例(入门)
Apr 15 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
Apr 22 Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 Python
python的变量和简单数字类型详解
Sep 15 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 调试工具Debug Tools
2011/04/30 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
点击文章内容处弹出页面代码
2009/10/01 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
python paramiko模块学习分享
2017/08/23 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python异常处理和日志处理方式
2019/12/24 Python
django使用graphql的实例
2020/09/02 Python
Django中template for如何使用方法
2021/01/31 Python
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
售后主管岗位职责
2013/12/08 职场文书
如何写自我鉴定
2014/03/19 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
学习nginx基础知识
2021/09/04 Servers
详解PyTorch模型保存与加载
2022/04/28 Python