问题描述
我只需要从页面 URL"列中的 url 字符串中提取整数,并将这些提取的整数附加到新列中.我正在使用 PySpark.我的代码如下:
从 pyspark.sql.functions 导入 col, regexp_extractspark_df_url.withColumn("new_column", regexp_extract(col("页面 URL"), "\d+", 1).show())我有以下错误:TypeError: 'Column' 对象不可调用.
您可以使用
spark_df_url.withColumn("new_column", regexp_extract("页面 URL", "\d+", 0))
指定字符串列的名称作为 regexp_replace
并确保第三个参数设置为 0
因为您的模式没有捕获组并且您感兴趣结果得到整个匹配值.
注意,当你指定 1
作为第三个参数时,你得到的是空结果:
如果正则表达式不匹配,或者指定的组不匹配,则返回空字符串.
I need to extract the integers only from url stings in the column "Page URL" and append those extracted integers to a new column. I am using PySpark. My code below:
from pyspark.sql.functions import col, regexp_extract
spark_df_url.withColumn("new_column", regexp_extract(col("Page URL"), "\d+", 1).show())
I have the following error: TypeError: 'Column' object is not callable.
You may use
spark_df_url.withColumn("new_column", regexp_extract("Page URL", "\d+", 0))
Specify the name of the string column as the first argument to regexp_replace
and make sure the third argument is set to 0
as your pattern has no capturing groups and you are interested in getting the whole match value as a result.
Note that when you specified 1
as the third argument, you got empty results:
这篇关于'Column' 对象不能用 Regex 和 Pyspark 调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!