当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PySpark Column substr方法用法及代码示例


PySpark 列的substr(~) 方法返回从字符串列值中提取的子字符串Column

参数

1.startPos | intColumn

起始位置。该位置是包容性且非索引的,这意味着第一个字符位于位置 1。此处也允许负位置 - 请参阅下面的示例以进行说明。

2. length | intColumn

要提取的子字符串的长度。

返回值

Column 对象。

例子

考虑以下PySpark DataFrame:

df = spark.createDataFrame([["Alex", 20], ["Bob", 30], ["Cathy", 40]], ["name", "age"])
df.show()



+-----+---+
| name|age|
+-----+---+
| Alex| 20|
|  Bob| 30|
|Cathy| 40|
+-----+---+

从 PySpark DataFrame 中的列值中提取子字符串

要从列值中提取子字符串:

from pyspark.sql import functions as F
df.select(F.col("name").substr(2,3).alias("short_name")).show()



+----------+
|short_name|
+----------+
|       lex|
|        ob|
|       ath|
+----------+

请注意以下事项:

  • F.col("name").substr(2,3) 表示我们正在提取从第 2 个字符开始、长度最多为 3 的子字符串。

  • 即使字符串太短(例如 "Bob" ),也不会抛出错误。

  • alias(~) 方法用于为我们的列分配标签。

请注意,您还可以指定一个负的起始位置,如下所示:

df.select(F.col("name").substr(-3,2).alias("short_name")).show()



+----------+
|short_name|
+----------+
|        le|
|        Bo|
|        th|
+----------+

在这里,我们从倒数第三个字符(含)开始。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark Column | substr method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。