【发布时间】:2020-07-21 06:59:39
【问题描述】:
我在数据框中有一列名为 "tags"。我需要根据条件提取值。条件是它不应包含 _(下划线) 和 :(冒号)。
例如:
"tags": "你好,amount_10,amount_90,total:100"
预期结果:
“new_column”:“嗨,你好”
供您参考:
我提取了所有的金额标签
collectAmount = udf(lambda s: list(map(lambda amount: amount.split('_')[1] if len(collection) > 0
else amount, re.findall(r'(amount_\w+)', s))), ArrayType(StringType()))
productsDF = productsDF.withColumn('amount_tag', collectAmount('tags'))
【问题讨论】:
-
我们应该先用
,分割单词吗? -
标签列的类型是什么?你能创建一个minimal reproducible example吗?
-
是的,@Ankur。你是对的.....
-
标签的类型是 String.... @cronoik
标签: python python-3.x regex apache-spark pyspark