pandas.Series.str.rpartition#
- Series.str.rpartition(sep=' ', expand=True)[源代码]#
在 sep 的最后一次出现处拆分字符串。
此方法在 sep 的最后一次出现处拆分字符串,并返回包含分隔符之前部分、分隔符本身和分隔符之后部分的3个元素。如果找不到分隔符,则返回3个元素,其中包含两个空字符串,然后是字符串本身。
- 参数:
- sepstr, 默认空白
要分割的字符串。
- 展开布尔值, 默认为 True
如果为真,返回扩展维度的 DataFrame/MultiIndex。如果为假,返回 Series/Index。
- 返回:
- DataFrame/MultiIndex 或 Series/Index 的对象
根据 expand 参数返回适当类型,字符串根据 sep 参数进行分割。
参见
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')