Skip to main content
`Ctrl`+`K`

# pandas.Series.drop_duplicates

Series.drop_duplicates(*, keep='first', inplace=False, ignore_index=False)

  Return Series with duplicate values removed.

  This method identifies and removes duplicate values from the Series, keeping the first, last, or none of the duplicate occurrences based on the `keep` parameter.

  Parameters:
    keep{‘first’, ‘last’, `False`}, default ‘first’

      Method to handle dropping duplicates:

      - ‘first’ : Drop duplicates except for the first occurrence.

      - ‘last’ : Drop duplicates except for the last occurrence.

      - `False` : Drop all duplicates.

    inplace bool, default `False`

      If `True`, performs operation inplace and returns None.

    ignore_index bool, default `False`

      If `True`, the resulting axis will be labeled 0, 1, …, n - 1.

      Added in version 2.0.0.

  Returns:
    Series or None

      Series with duplicates dropped or None if `inplace=True`.

  See also

  `Index.drop_duplicates`

    Equivalent method on Index.

  `DataFrame.drop_duplicates`

    Equivalent method on DataFrame.

  `Series.duplicated`

    Related method on Series, indicating duplicate Series values.

  `Series.unique`

    Return unique values as an array.

  `Index.duplicated`

    Indicate duplicate index values.

  Examples

  Generate a Series with duplicated entries.

      >>> s = pd.Series(
      ...     ["llama", "cow", "llama", "beetle", "llama", "hippo"], name="animal"
      ... )
      >>> s
      0     llama
      1       cow
      2     llama
      3    beetle
      4     llama
      5     hippo
      Name: animal, dtype: str

  With the ‘keep’ parameter, the selection behavior of duplicated values can be changed. The value ‘first’ keeps the first occurrence for each set of duplicated entries. The default value of keep is ‘first’.

      >>> s.drop_duplicates()
      0     llama
      1       cow
      3    beetle
      5     hippo
      Name: animal, dtype: str

  The value ‘last’ for parameter ‘keep’ keeps the last occurrence for each set of duplicated entries.

      >>> s.drop_duplicates(keep="last")
      1       cow
      3    beetle
      4     llama
      5     hippo
      Name: animal, dtype: str

  The value `False` for parameter ‘keep’ discards all sets of duplicated entries.

      >>> s.drop_duplicates(keep=False)
      1       cow
      3    beetle
      5     hippo
      Name: animal, dtype: str

  Only the values are considered, not the index. To drop entries with a duplicate index label, use `Index.duplicated()` with boolean indexing.

      >>> s.index = ["a", "b", "b", "c", "c", "d"]
      >>> s[~s.index.duplicated(keep="first")]
      a     llama
      b       cow
      c    beetle
      d     hippo
      Name: animal, dtype: str