pyspark.pandas.Series.str.split
的用法。用法:
str.split(pat: Optional[str] = None, n: int = - 1, expand: bool = False) → Union[ps.Series, ps.DataFrame]
围绕给定的分隔符/分隔符拆分字符串。
在指定的分隔符字符串处从头开始拆分系列中的字符串。相当于
str.split()
。- pat:str,可选
要拆分的字符串或正则表达式。如果未指定,则在空格处拆分。
- n:int,默认 -1(全部)
限制输出中的拆分数量。 None、0 和 -1 将被解释为返回所有拆分。
- expand:布尔值,默认为 False
将拆分的字符串展开为单独的列。
如果
True
,n
必须是正整数,并返回 DataFrame 扩展维度。如果
False
,返回 Series,包含字符串列表。
- 系列,DataFrame
类型匹配调用者,除非
expand=True
(见注释)。
参数:
返回:
注意:
n
关键字的处理取决于找到的拆分数量:如果发现拆分 >
n
,请先进行n
拆分如果发现拆分 <=
n
,则进行所有拆分如果对于某一行,找到的拆分数 <
n
,则追加None
以填充到n
ifexpand=True
如果使用
expand=True
,系列调用者返回带有n + 1
列的 DataFrame 对象。注意
即使
n
比找到的拆分大得多,列数也不会像 pandas 那样缩小。例子:
>>> s = ps.Series(["this is a regular sentence", ... "https://docs.python.org/3/tutorial/index.html", ... np.nan])
在默认设置中,字符串由空格分隔。
>>> s.str.split() 0 [this, is, a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 None dtype: object
如果没有 n 参数,则 rsplit 和 split 的输出是相同的。
>>> s.str.rsplit() 0 [this, is, a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 None dtype: object
n 参数可用于限制分隔符上的拆分次数。 split 和 rsplit 的输出是不同的。
>>> s.str.split(n=2) 0 [this, is, a regular sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 None dtype: object
>>> s.str.rsplit(n=2) 0 [this is a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 None dtype: object
pat 参数可用于按其他字符分割。
>>> s.str.split(pat = "/") 0 [this is a regular sentence] 1 [https:, , docs.python.org, 3, tutorial, index... 2 None dtype: object
使用
expand=True
时,拆分元素将扩展为单独的列。如果存在NaN,它会在拆分期间传播到整个列。>>> s.str.split(n=4, 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 None None None None None
对于稍微复杂的用例,例如从 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 None None
请记住在显式使用正则表达式时转义特殊字符。
>>> s = ps.Series(["1+1=2"]) >>> s.str.split(r"\+|=", n=2, expand=True) 0 1 2 0 1 1 2
相关用法
- Python pyspark Series.str.startswith用法及代码示例
- Python pyspark Series.str.slice_replace用法及代码示例
- Python pyspark Series.str.slice用法及代码示例
- Python pyspark Series.str.swapcase用法及代码示例
- Python pyspark Series.str.strip用法及代码示例
- Python pyspark Series.str.join用法及代码示例
- Python pyspark Series.str.rjust用法及代码示例
- Python pyspark Series.str.lstrip用法及代码示例
- Python pyspark Series.str.len用法及代码示例
- Python pyspark Series.str.isnumeric用法及代码示例
- Python pyspark Series.str.endswith用法及代码示例
- Python pyspark Series.str.isdecimal用法及代码示例
- Python pyspark Series.str.rstrip用法及代码示例
- Python pyspark Series.str.istitle用法及代码示例
- Python pyspark Series.str.match用法及代码示例
- Python pyspark Series.str.rindex用法及代码示例
- Python pyspark Series.str.rsplit用法及代码示例
- Python pyspark Series.str.ljust用法及代码示例
- Python pyspark Series.str.count用法及代码示例
- Python pyspark Series.str.title用法及代码示例
- Python pyspark Series.str.upper用法及代码示例
- Python pyspark Series.str.isupper用法及代码示例
- Python pyspark Series.str.pad用法及代码示例
- Python pyspark Series.str.repeat用法及代码示例
- Python pyspark Series.str.contains用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.Series.str.split。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。