我试图用“?”替换部分列文本。但是我得到了一个错误。 我想在 spark 中使用本机数据框。
TypeError:列不可迭代
data = [("John Doe", "123 Main St, Anytown, USA"),
("Jane Smith", "456 High St, Somewhere, USA")]
df = spark.createDataFrame(data, ["name", "address"])
from pyspark.sql.functions import regexp_replace, col
start = 3
end = 10
df_masked = df.withColumn("address_masked", regexp_replace(col("address"), substring("address", start, end), "??????????"))
预期结果
姓名 | address_masked |
---|---|
无名氏 | 123????????, Anytown, 美国 |
简·史密斯 | 456??????????, 美国某处 |