pandas.Series.str.partition

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

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.

pat : str, default whitespace

Deprecated since version 0.24.0: Use sep instead

expand : bool, default True

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

Returns:
DataFrame/MultiIndex or Series/Index of objects

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: object
>>> 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 containining 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='object')

Which will create a MultiIndex:

>>> idx.str.partition()
MultiIndex(levels=[['X', 'Y'], [' '], ['123', '999']],
           labels=[[0, 1], [0, 0], [0, 1]])

Or an index with tuples with expand=False:

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