pyspark.pandas.DataFrame.drop_duplicates

DataFrame. drop_duplicates ( subset : Union[Any, Tuple[Any, …], List[Union[Any, Tuple[Any, …]]], None] = None , keep : Union [ bool , str ] = 'first' , inplace : bool = False , ignore_index : bool = False ) → Optional [ pyspark.pandas.frame.DataFrame ] [source]

返回删除重复行后的DataFrame,可选地仅考虑某些列。

Parameters
subset column label or sequence of labels, optional

仅考虑某些列来识别重复项,默认情况下使用所有列。

keep {‘first’, ‘last’, False}, default ‘first’

确定保留哪些重复项(如果有)。 - first : 保留第一次出现的重复项,删除其余的。 - last : 保留最后一次出现的重复项,删除其余的。 - False : 删除所有重复项。

inplace boolean, default False

是否就地删除重复项或返回一个副本。

ignore_index boolean, default False

如果为真,生成的轴将被标记为0, 1, …, n - 1。

Returns
DataFrame

移除重复项后的DataFrame,如果 inplace=True 则为None。

>>> df = ps.DataFrame(
    ..
… {‘a’: [1, 2, 2, 2, 3], ‘b’: [‘a’, ‘a’, ‘a’, ‘c’, ‘d’]}, columns = [‘a’, ‘b’])
>>> df
    a  b
0 1 a
1 2 a
2 2 a
3 2 c
4 3 d
>>> df.drop_duplicates().sort_index()
    a  b
0 1 a
1 2 a
3 2 c
4 3 d
>>> df.drop_duplicates(ignore_index=True).sort_index()
    a  b
0 1 a
1 2 a
2 2 c
3 3 d
>>> df.drop_duplicates('a').sort_index()
    a  b
0 1 a
1 2 a
4 3 d
>>> df.drop_duplicates(['a', 'b']).sort_index()
    a  b
0 1 a
1 2 a
3 2 c
4 3 d
>>> df.drop_duplicates(keep='last').sort_index()
    a  b
0 1 a
2 2 a
3 2 c
4 3 d
>>> df.drop_duplicates(keep=False).sort_index()
    a  b
0 1 a
3 2 c
4 3 d