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

Extract specific string from a column in pyspark dataframe

我有以下 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 中实现这个

使用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   |
#+----------------------------------+-----------+