问题描述
from multiprocessing import Pool
import pandas
#csv,dfew1
def dataframe_iterator(csv,dfnew1):
for item in csv['Trips_Tbl_ID'].unique():
# creating a temporary file for each unique trip table ID
dftemp = traveL_time(item,'all')
# appending the temporary file to a new file
dfnew1 = dfnew1.append(dftemp)
return dfnew1
if __name__ == '__main__':
args = [(csv),(dfnew1)]
start_time = time.time()
pool = Pool()
pool.map(dataframe_iterator,args)
pool.close()
pool.join()
print("--- %s seconds ---" % (time.time() - start_time))
某些上下文:
'csv'是一个巨大的数据框,其中包含一堆混乱的运输记录和许多非唯一的行程表ID。它已在jupyter笔记本中被调用。
对于csv中的每个唯一行程表ID,我正在应用一个称为traveL_time的计算量大的定制函数来对其进行转换和压缩。
'dfnew1'是一个定制的空数据框,其结构与将traveL_time函数应用于'csv'后的数据框具有完全相同的结构,这就是为什么我在for循环中将其附加到它。它已在jupyter笔记本中被调用。
我对python来说还很陌生,我在加速运行时遇到了一些麻烦,因为它确实是一个庞大的数据集,目前要花9分钟的时间才能在“ csv”中查看超过15万条记录,所以我最终不得不超过亿条记录。
我的问题是,如何使用两个参数csv和dfnew1来多处处理此功能,从而有可能加快速度?
我尝试使用pandarallel,但出现了很多错误,而且我不确定如何对多重处理库使用多个参数。另外,当前的设置似乎永远都在进行,我确定这是错误的。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)