Skip to main content
`Ctrl`+`K`

# pandas.Series.str.partition

Series.str.partition(sep=' ', expand=True)

  Split the string at the first occurrence of sep.

  This method splits the string at the first occurrence of sep, and returns 3 elements containing the part before the separator, the separator itself, and the part after the separator. If the separator is not found, return 3 elements containing the string itself, followed by two empty strings.

  Parameters:
    sep str, default whitespace

      String to split on.

    expand bool, default True

      If True, return DataFrame/MultiIndex expanding dimensionality. If False, return Series/Index.

  Returns:
    DataFrame/MultiIndex or Series/Index of objects

      Returns appropriate type based on expand parameter with strings split based on the sep parameter.

  See also

  `rpartition`

    Split the string at the last occurrence of sep.

  `Series.str.split`

    Split strings around given separators.

  `str.partition`

    Standard library version.

  Examples

      >>> s = pd.Series(["Linda van der Berg", "George Pitt-Rivers"])
      >>> s
      0    Linda van der Berg
      1    George Pitt-Rivers
      dtype: str

      >>> s.str.partition()
              0  1             2
      0   Linda     van der Berg
      1  George      Pitt-Rivers

  To partition by the last space instead of the first one:

      >>> s.str.rpartition()
                     0  1            2
      0  Linda van der            Berg
      1         George     Pitt-Rivers

  To partition by something different than a space:

      >>> s.str.partition("-")
                          0  1       2
      0  Linda van der Berg
      1         George Pitt  -  Rivers

  To return a Series containing tuples instead of a DataFrame:

      >>> s.str.partition("-", expand=False)
      0    (Linda van der Berg, , )
      1    (George Pitt, -, Rivers)
      dtype: object

  Also available on indices:

      >>> idx = pd.Index(["X 123", "Y 999"])
      >>> idx
      Index(['X 123', 'Y 999'], dtype='str')

  Which will create a MultiIndex:

      >>> idx.str.partition()
      MultiIndex([('X', ' ', '123'),
                  ('Y', ' ', '999')],
                 )

  Or an index with tuples with `expand=False`:

      >>> idx.str.partition(expand=False)
      Index([('X', ' ', '123'), ('Y', ' ', '999')], dtype='object')