apache-spark - 如何在 PySpark 中用 NULL 替换字符串值?

标签 apache-spark dataframe null pyspark

我想做这样的事情:

df.replace('empty-value', None, 'NAME')

基本上,我想用 NULL 替换一些值。但它在这个函数中不接受 None 。我怎样才能做到这一点?

最佳答案

这将取代 empty-valueNone在您的 name柱子:

from pyspark.sql.functions import udf
from pyspark.sql.types import StringType


df = sc.parallelize([(1, "empty-value"), (2, "something else")]).toDF(["key", "name"])
new_column_udf = udf(lambda name: None if name == "empty-value" else name, StringType())
new_df = df.withColumn("name", new_column_udf(df.name))
new_df.collect()

输出:
[Row(key=1, name=None), Row(key=2, name=u'something else')]

通过使用旧名称作为 withColumn 中的第一个参数,它实际上取代了旧的 name UDF 输出生成的新列。

关于apache-spark - 如何在 PySpark 中用 NULL 替换字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36897658/

相关文章:

apache-spark - SparkContext对象没有属性esRDD(elasticsearch-spark连接器)

python - 从存储在两个数据框中的两个数据透视表中减去值

java - 如何初始化数组中的空对象?

mysql - 将 MYSQL Jointure 中的所有 NULL 值替换为空

scala - Spark : java. io.NotSerializableException : org. apache.avro.Schema$RecordSchema

apache-spark - Spark中QuantileDiscretizer和Bucketizer之间的区别

scala - 使用 df.as[T] 和 df.asInstanceOf[Dataset[T]] 有什么区别?

python - DatetimeIndex 阻止 DataFrame 从装饰函数返回

Python if 语句检索 "The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()."

c# - 如何检查 Point3d 是否不为空?