从 pyspark 数据框中的列中提取特定字符串

Posted

技术标签:

【中文标题】从 pyspark 数据框中的列中提取特定字符串【英文标题】:Extract specific string from a column in pyspark dataframe 【发布时间】:2021-12-29 13:53:45 【问题描述】:

我有以下 pyspark 数据框。

column_a
name,age,pct_physics,country,class
name,age,pct_chem,class
pct_math,class

我必须只提取仅以 pct 开头的字符串部分并丢弃其余部分。

预期输出:

column_a
pct_physics
pct_chem
pct_math

如何在 pyspark 中实现这一点

【问题讨论】:

【参考方案1】:

使用regexp_extract 函数。

Example:

df.withColumn("output",regexp_extract(col("column_a"),"(pct_.*?),",1)).show(10,False)
#+----------------------------------+-----------+
#|column_a                          |output     |
#+----------------------------------+-----------+
#|name,age,pct_physics,country,class|pct_physics|
#|name,age,pct_chem,class           |pct_chem   |
#+----------------------------------+-----------+

【讨论】:

以上是关于从 pyspark 数据框中的列中提取特定字符串的主要内容,如果未能解决你的问题,请参考以下文章

什么函数允许我根据R中列中的值从数据框中的列中提取数据?

如何从python中的pandas数据框中的列中提取关键字(字符串)

如何从包含文本的熊猫数据框中的列中提取年份(或日期时间)

从遵循特定模式的列中提取字符串

从 pandas 数据框中删除句子长度超过特定字长的行

如何从熊猫数据框中的列中删除字符串值