📅  最后修改于: 2023-12-03 15:23:46.816000             🧑  作者: Mango
在 PySpark 中,我们经常需要从 DataFrame 中的列中获取子字符串(Substring)。下面是一些方法来执行此操作:
substr
函数可以使用 substr
函数来获取一个 DataFrame 列中的子字符串。这个函数需要三个参数:
以下是一个示例:
from pyspark.sql.functions import substring
df.select(substring("column_name", 0, 5)).show()
此示例从 column_name
列中选择前五个字符。
substring
函数类似于 substr
函数,substring
函数也可用于从 DataFrame 列中获取子字符串。不同的是,substring
函数需要两个参数:
以下是一个示例:
from pyspark.sql.functions import substring
df.select(substring("column_name", 1, 5)).show()
此示例从 column_name
列中选择从第一个字符开始的五个字符。
split
函数使用 split
函数可以将 DataFrame 列中的字符串拆分为多个子字符串。这个函数需要两个参数:
以下是一个示例:
from pyspark.sql.functions import split
df.select(split("column_name", "-").getItem(0)).show()
此示例将 column_name
列中的字符串以 -
分隔符拆分,并选择第一个子字符串。
可以使用正则表达式从 DataFrame 中的列中获取子字符串。为此,我们可以使用 regexp_extract
函数。这个函数需要三个参数:
以下是一个示例:
from pyspark.sql.functions import regexp_extract
df.select(regexp_extract("column_name", "\d+", 0)).show()
此示例使用正则表达式提取 column_name
列中的第一个数字。
以上是 PySpark 中从 DataFrame 中获取子字符串的一些方法。根据需要,可以选择适合自己的方法来执行此任务。