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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。