dask.dataframe.Series.str.rpartition

dask.dataframe.Series.str.rpartition

dataframe.Series.str.rpartition(sep: str = ' ', expand: bool = True)

sep 的最后一次出现处拆分字符串。

此文档字符串是从 pandas.core.strings.accessor.StringMethods.rpartition 复制的。

Dask 版本可能存在一些不一致性。

此方法在 sep 的最后一次出现处拆分字符串,并返回包含分隔符之前部分、分隔符本身和分隔符之后部分的三个元素。如果找不到分隔符,则返回三个元素,其中包含两个空字符串,后跟字符串本身。

参数
sepstr, 默认 空白

要分割的字符串。

展开bool, 默认 True

如果为 True,返回扩展维度的 DataFrame/MultiIndex。如果为 False,返回 Series/Index。

返回
DataFrame/MultiIndex 或 Series/Index 的对象

参见

partition

sep 的第一次出现处拆分字符串。

Series.str.split

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

str.partition

标准库版本。

示例

>>> 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')