pandas.Series.str.partition#

Series.str.partition(sep=' ', expand=True)[源代码]#

在第一个 sep 出现的位置分割字符串。

此方法在第一个 sep 出现的位置分割字符串,并返回包含分隔符之前的部分、分隔符本身以及分隔符之后的部分这 3 个元素。如果未找到分隔符,则返回包含字符串本身以及两个空字符串这 3 个元素。

Parameters:
sepstr,默认为空白符

用于分隔的字符串。

expandbool, default True

如果为 True,则返回 DataFrame/MultiIndex 并展开维度。如果为 False,则返回 Series/Index。

Returns:
DataFrame/MultiIndex 或 Series/Index 对象

参见

rpartition

在最后一个 sep 出现的位置分割字符串。

Series.str.split

根据给定的分隔符分割字符串。

str.partition

标准库版本。

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

要在最后一个空格处分割而不是第一个空格:

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

要使用空格以外的内容进行分割:

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

要返回包含元组的 Series 而不是 DataFrame:

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

也可用于索引:

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

这将创建一个 MultiIndex:

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

或者使用 expand=False 的元组索引:

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