pyspark.pandas.DataFrame.drop_duplicates#
- DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)[source]#
Return DataFrame with duplicate rows removed, optionally only considering certain columns.
- Parameters
- subsetcolumn label or sequence of labels, optional
Only consider certain columns for identifying duplicates, by default use all the columns.
- keep{‘first’, ‘last’, False}, default ‘first’
Determines which duplicates (if any) to keep. -
first
: Drop duplicates except for the first occurrence. -last
: Drop duplicates except for the last occurrence. - False : Drop all duplicates.- inplaceboolean, default False
Whether to drop duplicates in place or to return a copy.
- ignore_indexboolean, default False
If True, the resulting axis will be labeled 0, 1, …, n - 1.
- Returns
- DataFrame
DataFrame with duplicates removed or None if
inplace=True
.
>>> 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