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