如何解决使用输入输出文件在Python中进行并行处理
import numpy as np
import pandas as pd
import math
j = 0
k = 0
time_array = []
average_pa = []
for i in range(3600):
time_array.append(j)
average_pa.append(k)
j += 0.1
time_array1 = tuple(time_array)
pa1 = 0.0
time1 = 0.0
chunk_size = 1000
for chunk in pd.read_csv("data_fiftydyne.txt",header=1,delimiter='\t',chunksize=chunk_size,skip_blank_lines=True,error_bad_lines=False,keep_default_na=False):
file2 = chunk.to_numpy()
for jj in range(file2.shape[0]):
time1 = file2[jj][9]
if type(time1) == str:
time1 = 362
pa1 = file2[jj][11]
ff = open("aver_pa_time_fiftydyne.csv","a")
ff.truncate(0)
ff.seek(0)
for ii in range(3600):
if math.floor(10 * time_array1[ii]) == math.floor(float(10 * time1)):
average_pa[ii] += pas1
print(pa1)
print(time1)
ff.write(str(average_pa[ii]) + ',' + str(time_array1[ii]) + '\n')
ff.close()
这是串行工作的代码。如何并行化此代码?文件大小为67GB。在具有4.2GHz和8GB RAM的CPU上串行运行需要5天。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。