问题是这样:
我有一大堆csv,每个csv有6千多行。需要大量的计算对比。而要进行下一步的计算,都需要上一步的计算返回结果。所以能分成的进程有限。请问有什么算法或思路能帮忙解决。
具体问题示例如下:
list1 = [A,B]
list2 = [A,C]
list3 = [B,C]
list = [list1,list2,list3]
counter.csv 中有几千行数据.
if 条件1:
res1[]
#筛选出来也有一千行
if 条件2:
res2[]
#筛选出来也有一千行
if 条件3:
res3[]
#筛选出来也有一千行
..........,9个条件,筛选出来9个res。三个一组对比如下:
res2和res1对比计算,得出结果A,res3和res2对比计算,得出结果B
如果
1.res1,res2,res3计算结果为[A,B]或[B,A]
2.res4,res5,res6计算结果为[A,C]或[C,A]
3.res7,res8,res9计算结果为[B,C]或[C,B]
如果以上三点的结果同时间在list=[list1,list2,list3]中(顺序可以各种全排列,只要三个计算结果同时==list1,list2,list3就可以),则成立
就是判断三个结果,是否同时等于列表的三个元素。
我目前的方法,由于每次都需要上一步的结果才能进行下一步。所以目前我只分成了6个进程。计算相当相当的慢还会卡死。可以分出来32个核心和48G内存给这个计算。但是目前我的写法完全用不上。请问有什么方法和思路能解决这个问题。