cudf.core.column.string.StringMethods.split#

StringMethods.split(pat: str | None = None, n: int = -1, expand: bool = False, regex: bool | None = None) SeriesOrIndex[source]#

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

从开头处根据指定的分隔符字符串分割Series/Index中的字符串。类似于str.split()

Parameters:
patstr, default None

用于分割的字符串或正则表达式。如果未指定,则按空格分割。

nint, default -1 (all)

限制输出中的分割数量。None、0 和 -1 都将被解释为“全部分割”。

expandbool, default False

将分割的字符串扩展为单独的列。

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

  • 如果 False,返回包含字符串列表的 Series/Index。

regexbool, default None

确定传入的模式是否为正则表达式:

  • 如果 True,则假定传入的模式是一个正则表达式

  • 如果 False,将模式视为字面字符串。

  • 如果 pat 的长度为 1,则将 pat 视为字面字符串。

Returns:
Series, Index, DataFrame or MultiIndex

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

另请参阅

rsplit

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

str.split

用于分割的标准库版本。

str.rsplit

rsplit的标准库版本。

注释

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

  • 如果找到的分割数大于n,则只进行前n个分割

  • 如果找到的分割数 <= n,则进行所有分割

  • 如果对于某一行找到的分割数小于n,则在expand=True时,追加None以填充到n。

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

示例

>>> import cudf
>>> data = ["this is a regular sentence",
...     "https://docs.python.org/index.html", None]
>>> s = cudf.Series(data)
>>> s
0            this is a regular sentence
1    https://docs.python.org/index.html
2                                  <NA>
dtype: object

在默认设置中,字符串按空格分割。

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

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

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

n 参数可用于限制分隔符上的分割次数。

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

pat 参数可用于按其他字符进行分割。

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

当使用expand=True时,拆分后的元素将扩展为单独的列。如果存在值,它将在拆分过程中传播到各个列中。

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