當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。