我正在尝试在python中过滤大文件中的重叠行。重叠度设置为25%。换句话说,任何两行之间的交集元素的数量少于它们的并集的0.25倍。如果超过0.25,则删除一行。因此,如果我有一个总文件数为1000 000的大文件,则第一个5行如下:
c6 c24 c32 c54 c67
c6 c24 c32 c51 c68 c78
c6 c32 c54 c67
c6 c32 c55 c63 c85 c94 c75
c6 c32 c53 c67
由于第一行和第二行之间的交集元素数为3(例如c6,c24,c32),因此它们之间的并集数为8(例如c6,c24,c32,c54,c67,c51 ,c68,c78)。重叠度为3/8 = 0.375> 0.25,第二行被删除,第三行和第五行也是如此。最后的答案是第一行和第四行。
c6 c24 c32 c54 c67
c6 c32 c55 c63 c85 c94 c75
伪代码如下:
csv_file = default_storage.open(self.filepath, 'r')
new_object = CSVImport(csvfile=csv_file.read(),
model=Contact,
modelspy=".",
mappings="1=first_name,2=mobile,3=email,4=last_name,5=43,6=16")
new_object.run()
如何在python中解决这个问题?谢谢!
BIG阳
相关分类