- 博客(6)
- 资源 (5)
- 收藏
- 关注
原创 使用joblib并行处理,快速读入几千个csv文件,合并为单一DataFrame
使用joblib并行处理,快速读入几千个csv文件,合并为单一DataFrame问题效率低下的串行读入使用joblib并行处理,16秒完成全部文件读入合并问题3700多个结构相同的csv文件,通过Python代码读入,合并为单一的DataFrame,再进行后续处理效率低下的串行读入初始的方法是把3700多个文件,创建一个文件列表,然后遍历列表,读入,并进行合并: for file in file_list: filename = os.path.join(file_path,
2020-09-06 18:29:14 1266 2
原创 pandas的fillna函数影响性能,不要轻易使用
fillna搜索整个DataFrame,把nan值替换为指定的值,速度很慢,影响处理脚本性能。我们的数据处理脚本,fillna一行代码,占了21.8%的处理时间。为了避免不必要的nan填充。我们修改了处理策略,在read_csv中增加了1个参数keep_default_na,设置该参数为Flase(将这个参数设为False之后同时不定义na_values参数,就可以在读取文件时不将任何值转换为缺失值NaN),对缺失值不填充为nan,再加上其它的调整,处理脚本性能提升了1倍:df_data = pd.rea
2020-05-16 17:02:55 1210
原创 Python性能优化的一些思路
Python是解释性语言,性能相对较低。但是通过一些性能优化方法,可以将性能提升百倍以上。以下是本人在Python编程中采用过的一些性能优化方法,分享给大家参考。1、采用多进程处理Python由于GIL的限制,多线程只能利用1个CPU,难以用于性能提升。但是,可以把工作划分为独立的任务,采用多进程模式来处理,如此可以充分发挥多核CPU的算力;下面是一个从网上找到的一个多进程池的示例代码,供参考...
2020-05-03 23:31:33 549
原创 Python Queue、multiprocessing.Queue、multiprocessing.Manager().Queue()三种消息队列的区别
import Queue用于线程间的消息队列from multiprocessing import Queue用于子进程间的消息队列。但是用于线程间好像也没有问题from multiprocessing import Manager,Poolmsg_queue = Manager.Queue()用于进程池Pool的进程之间的消息队列...
2020-04-12 23:09:13 4574 1
原创 Pyinstaller加密打包遇到的坑
Pyinstaller加密打包的坑Pyinstaller加密打包遇到的坑Pyinstaller加密打包遇到的坑原来使用Anaconda3-2019.07-Windows-x86_64,Pyinstaller 3.4版本。升级到Anaconda3-2020.02-Windows-x86_64或者Python 3.7.7,使用Pyinstaller进行加密打包成EXE文件,可以成功打包。但是,运行...
2020-04-11 18:08:50 3698
原创 通过list实现环状队列
通过list实现环状队列.本文参考https://blog.csdn.net/weixin_30522095/article/details/99650632,修正了其错误。 通过python的list,实现了一个环状队列。废话少说,直接上代码:#!/usr/bin/python3# -*- coding: utf-8 -*-"""author: bluelightning99las...
2019-11-21 20:14:11 416
numpy-1.18.2+mkl-cp38-cp38-win32.whl
2020-04-12
line_profiler-3.0.2-cp37-cp37m-win32.whl
2020-04-10
line_profiler-3.0.2-cp37-cp37m-win_amd64.whl
2020-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人