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


Python PySpark SQL Functions instr方法用法及代码示例


PySpark SQL 函数的 instr(~) 方法返回一个新的 PySpark 列,该列保存指定列的每个值中指定子字符串第一次出现的位置。

警告

该位置不基于索引,并且从 1 而不是 0 开始。

参数

1.str | stringColumn

要执行操作的列。

2. substr | string

要检查其位置的子字符串。

返回值

PySpark 数据帧。

例子

考虑以下PySpark DataFrame:

df = spark.createDataFrame([("ABA",), ("BBB",), ("CCC",), (None,)], ["x",])
df.show()



+----+
|   x|
+----+
| ABA|
| BBB|
| CCC|
|null|
+----+

获取PySpark列中第一次出现子字符串的位置

要获取子字符串 "B"x 列中第一次出现的位置,请使用 instr(~) 方法:

df.select(F.instr("x", "B")).show()



+-----------+
|instr(x, B)|
+-----------+
|          2|
|          1|
|          0|
|       null|
+-----------+

在此,请注意以下事项:

  • 我们看到 2 为列值 "ABA" 返回,因为子字符串 "B" 出现在第二个位置 - 请记住,此方法从 1 而不是 0 计算位置。

  • 如果字符串中不存在该子字符串,则返回值0"Cathy" 就是这种情况,因为该字符串不包含 "B"

  • 如果字符串是 null ,那么结果也将是 null

相关用法


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