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入门教程
Feb 08 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
Python迭代和迭代器详解
Nov 10 Python
基于python时间处理方法(详解)
Aug 14 Python
python实现二分查找算法
Sep 21 Python
Django如何配置mysql数据库
May 04 Python
python中使用zip函数出现错误的原因
Sep 28 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
Python语言编写智力问答小游戏功能
Oct 13 Python
理解python中装饰器的作用
Jul 21 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
Jun 25 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
python使用KNN算法手写体识别
2018/02/01 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
python进行参数传递的方法
2020/05/12 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
煤矿班组长的职责
2013/12/25 职场文书
开水果连锁店创业计划书
2013/12/29 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android