如何解决多处理for循环,该循环附加到带有多个参数的pandas数据帧
我正在尝试找到一种多功能处理此功能的方法。
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 举报,一经查实,本站将立刻删除。