擅长:python、mysql、java
<p>最后,我编写了一个hacky脚本,它遍历行和必要的数据片段,并检查是否出现了concatenate,或者是否出现了它的反向,并根据需要删除了行索引。在</p>
<pre><code>import pandas as pd
checklist = []
indexes_to_drop = []
interactions = pd.read_csv('original_interactions.txt', delimiter = '\t')
for index, row in interactions.iterrows():
check_string = row['InteractorA'] + row['InteractorB']
check_string_rev = row['InteractorB'] + row['InteractorA']
if (check_string or check_string_rev) in checklist:
indexes_to_drop.append(index)
else:
pass
checklist.append(check_string)
checklist.append(check_string_rev)
no_dups = interactions.drop(interactions.index[indexes_to_drop])
print no_dups.shape
no_dups.to_csv('no_duplicates.txt',sep='\t',index = False)
</code></pre>
<hr/>
<p><strong>2017年编辑</strong>:几年过去了,有了更多的经验,这是一个更优雅的解决方案,任何人寻找类似的东西:</p>
^{pr2}$