Python 删除字段中具有共同值的所有行

标签 python duplicates

我有包含 4 个字段的数据行

aaaa bbb1 cccc dddd  
aaaa bbb2 cccc dddd  
aaaa bbb3 cccc eeee  
aaaa bbb4 cccc ffff  
aaaa bbb5 cccc gggg  
aaaa bbb6 cccc dddd    

请耐心等待。

第一个和第三个字段始终相同 - 但我不需要它们,第 4 个字段可以相同或不同。问题是,我只想要来自不共享公共(public)字段的行的第 2 和第 4 个字段。比如从上面的数据中这样

bbb3 eeee  
bbb4 ffff    
bbb5 gggg    

现在我不是说重复数据删除,因为那样会留下一个条目。如果第 4 个字段与另一行共享一个值,我不想要任何具有该值的行。

再次为询问可能很简单的问题而道歉。

最佳答案

给你:

from collections import defaultdict

LINES = """\
aaaa bbb1 cccc dddd
aaaa bbb2 cccc dddd
aaaa bbb3 cccc eeee
aaaa bbb4 cccc ffff
aaaa bbb5 cccc gggg
aaaa bbb6 cccc dddd""".split('\n')

# Count how many lines each unique value of the fourth field appears in.
d_counts = defaultdict(int)
for line in LINES:
    a, b, c, d = line.split()
    d_counts[d] += 1

# Print only those lines with a unique value for the fourth field.
for line in LINES:
    a, b, c, d = line.split()
    if d_counts[d] == 1:
        print b, d

# Prints
# bbb3 eeee
# bbb4 ffff
# bbb5 gggg

关于Python 删除字段中具有共同值的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1089550/

相关文章:

c++ - OpenCV中数据库视频匹配的实现帮助

具有匹配列名的 PHP mySQL JOIN

javascript - 在 Javascript Cookie 中设置了重复键

python - 由于 SSL 证书错误,pip 无法获取 URL

python - Jupyter 和 Bokeh : workaround for exporting bokeh plots when exporting Jupyter notebook to pdf

python - 如何用计算值初始化模型

python - Hadoop pig latin 无法通过 python 脚本流式传输

duplicates - 基本哈希表算法 - 删除重复项

python - 有没有一种有效的方法可以从数组索引计算两个 3D 向量的点积?

python - 如何使用列表有条件地从 Pandas DataFrame 中删除重复项