假设我有一个非常大的数据集,其形式如下:
data = sc.parallelize([('Foo',41,'US',3),
('Foo',39,'UK',1),
('Bar',57,'CA',2),
('Bar',72,'CA',2),
('Baz',22,'US',6),
('Baz',36,'US',6)])
我想要做的是根据第一、第三和第四列的值删除重复的行。
删除完全重复的行非常简单:
data = data.distinct()
第5行或第6行将被删除
但是如何只删除基于列1、3和4的重复行呢?也就是说,删除以下任何一项:
('Baz',22,'US',6)
('Baz',36,'US',6)
在 Python 中,这可以通过使用 .drop_duplicates()
指定列来完成?