赞
踩
答案先写在开头,免得你们直接拉到下面看结果~
modin.pandas 确实能使得一部分函数使用多核cpu进行加速处理,但是现在有些功能还不完善,有些函数还是用的默认pandas处理…
具体哪些函数是可以加速的可以往下看看
主要测试了apply,groupby,read_csv
在讲modin之前,简单介绍一下pandas,pandas主要是python用来处理数据的时候用到的一个库,并且为了追求效率,并不是用python写的,底层逻辑用的是c语言。而且对于各种计算逻辑已经被开发者开发到相对优秀的程度了。
但是即便如此,由于python本身语言的特点,pandas也只能在单核上进行计算,因此在考虑加速pandas处理大量数据的时候,使用多核cpu也就成为第一考虑目标了。
这个时候Modin项目就出现了。
Modin是加州大学伯克利分校RISELab的早期项目,旨在促进分布式计算在数据科学中的应用。它是一个多进程Dataframe库,具有与pandas相同的API,允许用户加速其Pandas工作流程。
总而言之,modin.pandas就是在pandas的基础之上多封装了一层使用多核cpu进行加速计算。
废话不多说,我们直接看试验结果。
测试代码如下
def pandas_test():
import pandas as pd
from time import time
df = pd.DataFrame(zip(range(1000000),range(1000000,2000000)),columns=['a','b'])
start = time()
df['c'] = df.apply(lambda x:x.a+x.b ,axis=1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。