pandas.Series.str.rsplit #

系列.str。rsplit ( pat = None , * , n = -1 , Expand = False ) [来源] #

围绕给定的分隔符/定界符分割字符串。

在指定的分隔符字符串处从末尾分割系列/索引中的字符串。

参数
pat str,可选

要分割的字符串。如果未指定,则按空格分割。

n int,默认-1(全部)

限制输出中的拆分数量。 None、0 和 -1 将被解释为返回所有拆分。

展开bool,默认 False

将拆分的字符串展开为单独的列。

  • 如果True,则返回 DataFrame/MultiIndex 扩展维度。

  • 如果False,则返回包含字符串列表的系列/索引。

返回
系列、索引、DataFrame 或多索引

类型与调用者匹配,除非expand=True(参见注释)。

也可以看看

Series.str.split

围绕给定的分隔符/定界符分割字符串。

Series.str.rsplit

从右侧开始围绕给定的分隔符/分隔符分割字符串。

Series.str.join

使用传递的分隔符连接作为系列/索引中的元素包含的列表。

str.split

用于拆分的标准库版本。

str.rsplit

rsplit 的标准库版本。

笔记

n关键字的处理取决于找到的拆分数量:

  • 如果发现分割 > n,则仅进行前n分割

  • 如果发现 splits <= n,则进行所有 splits

  • 如果对于某一行,找到的分割数 < n,则附加None来填充最多n ifexpand=True

如果使用expand=True,Series 和 Index 调用者将分别返回 DataFrame 和 MultiIndex 对象。

例子

>>> s = pd.Series(
...     [
...         "this is a regular sentence",
...         "https://docs.python.org/3/tutorial/index.html",
...         np.nan
...     ]
... )
>>> s
0                       this is a regular sentence
1    https://docs.python.org/3/tutorial/index.html
2                                              NaN
dtype: object

在默认设置中,字符串由空格分隔。

>>> s.str.split()
0                   [this, is, a, regular, sentence]
1    [https://docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object

如果没有n参数, rsplitsplit的输出 是相同的。

>>> s.str.rsplit()
0                   [this, is, a, regular, sentence]
1    [https://docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object

n参数可用于限制分隔符上的拆分数量。splitrsplit的输出不同。

>>> s.str.split(n=2)
0                     [this, is, a regular sentence]
1    [https://docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object
>>> s.str.rsplit(n=2)
0                     [this is a, regular, sentence]
1    [https://docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object

pat参数可用于被其他字符分割。

>>> s.str.split(pat="/")
0                         [this is a regular sentence]
1    [https:, , docs.python.org, 3, tutorial, index...
2                                                  NaN
dtype: object

使用 时expand=True,拆分元素将展开为单独的列。如果存在 NaN,则它会在分割期间传播到整个列。

>>> s.str.split(expand=True)
                                               0     1     2        3         4
0                                           this    is     a  regular  sentence
1  https://docs.python.org/3/tutorial/index.html  None  None     None      None
2                                            NaN   NaN   NaN      NaN       NaN

对于稍微复杂的用例,例如从 url 中拆分 html 文档名称,可以使用参数设置的组合。

>>> s.str.rsplit("/", n=1, expand=True)
                                    0           1
0          this is a regular sentence        None
1  https://docs.python.org/3/tutorial  index.html
2                                 NaN         NaN