Python是一门非常适合处理数据和自动化完成重复性工作的编程语言,我们在用数据训练机器学习模型之前,通常都需要对数据进行预处理,而Python就非常适合完成这项工作,比如需要重新调整几十万张图像的尺寸,用Python没问题!
你几乎总是能找到一款可以轻松完成数据处理工作的Python库。
然而
虽然Python易于学习,使用方便,但它并非运行速度最快的语言。
默认情况下,Python程序使用一个CPU以单个进程运行。
不过如果你是在最近几年配置的电脑,通常都是四核处理器,也就是有4个CPU。
这就意味着在你苦苦等待Python脚本完成数据处理工作时
你的电脑其实有75%甚至更多的计算资源就在那闲着没事干!
今天就教大家怎样通过并行运行Python函数,充分利用你的电脑的全部处理能力。
得益于Python的 concurrent.futures 模块,
我们只需3行代码
就能将一个普通数据处理脚本变为能并行处理数据的脚本,提速4倍。
普通Python处理数据方法
比方说:
我们有一个全是图像数据的文件夹,想用Python为每张图像创建缩略图。
下面是一个短暂的脚本:
用Python的内置glob函数获取文件夹中所有JPEG图像的列表,
然后用Pillow图像处理库为每张图像保存大小为128像素的缩略图: