从pyspark中的字中删除数值的正则表达式模式

2024-05-15 17:52:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理pyspark数据帧,我有一列words{}。要从单词中删除数值和数值,正则表达式模式应该是什么

+---+----------------------------------------------+
|id |    words                                     |
+---+----------------------------------------------+
|564|[fhbgtrj5, 345gjhg, ghth578ghu, 5897, fhrfu44]|
+---+----------------------------------------------+

预期产出:

+---+----------------------------------------------+
|id |words                                         |
+---+----------------------------------------------+
|564|               [fhbgtrj, gjhg, ghthghu, fhrfu]|
+---+----------------------------------------------+

请帮忙


Tags: 数据id模式单词pyspark数值wordsgjhg
1条回答
网友
1楼 · 发布于 2024-05-15 17:52:46

您可以使用transformregexp_replace删除数字,并使用array_remove删除空条目(来自仅由数字组成的条目)

df2 = df.withColumn(
    'words', 
    F.expr("array_remove(transform(words, x -> regexp_replace(x, '[0-9]', '')), '') as words")
)

df2.show(truncate=False)
+ -+               -+
|id |words                          |
+ -+               -+
|564|[fhbgtrj, gjhg, ghthghu, fhrfu]|
+ -+               -+

相关问题 更多 >