PySpark 列的substr(~)
方法返回從字符串列值中提取的子字符串Column
。
參數
1.startPos
| int
或 Column
起始位置。該位置是包容性且非索引的,這意味著第一個字符位於位置 1。此處也允許負位置 - 請參閱下麵的示例以進行說明。
2. length
| int
或 Column
要提取的子字符串的長度。
返回值
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|
+----------+
在這裏,我們從倒數第三個字符(含)開始。
相關用法
- Python PySpark Column startswith方法用法及代碼示例
- Python PySpark Column isNotNull方法用法及代碼示例
- Python PySpark Column getItem方法用法及代碼示例
- Python PySpark Column rlike方法用法及代碼示例
- Python PySpark Column cast方法用法及代碼示例
- Python PySpark Column withField方法用法及代碼示例
- Python PySpark Column endswith方法用法及代碼示例
- Python PySpark Column dropFields方法用法及代碼示例
- Python PySpark Column alias方法用法及代碼示例
- Python PySpark Column isNull方法用法及代碼示例
- Python PySpark Column otherwise方法用法及代碼示例
- Python PySpark Column contains方法用法及代碼示例
- Python PySpark Column isin方法用法及代碼示例
- Python Collections.UserString用法及代碼示例
- Python Collections.UserDict用法及代碼示例
- Python Collections.UserList用法及代碼示例
- Python Django Collate用法及代碼示例
- Python Django ContentTypeManager用法及代碼示例
- Python Condition release()用法及代碼示例
- Python Condition notify()用法及代碼示例
- Python Django ContextMixin.get_context_data用法及代碼示例
- Python Condition wait()用法及代碼示例
- Python Django Coalesce用法及代碼示例
- Python Django Cot用法及代碼示例
- Python Django CoordTransform用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark Column | substr method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。