replace (DataFrame)

返回一个新的 DataFrame,将值替换为另一个值。 DataFrame.replaceDataFrameNaFunctions.replace 彼此的别名。 值to_replace和值必须具有相同的类型,并且只能是数值、布尔值或字符串。 值可以有 None。 替换时,新值将转换为现有列的类型。

Syntax

replace(to_replace: Union["LiteralType", List["LiteralType"], Dict["LiteralType", "OptionalPrimitiveType"]], value: Optional[Union["OptionalPrimitiveType", List["OptionalPrimitiveType"]]] = _NoValue, subset: Optional[List[str]] = None)

参数

参数 类型 说明
to_replace bool、int、float、string、list 或 dict 要替换的值。 如果值为听写,则 value 忽略或省略该值,并且 to_replace 必须是值和替换之间的映射。
value bool、int、float、string 或 None,可选 替换值必须是布尔值、int、float、string 或 None。 如果 value 为列表, value 则长度和类型应与 to_replace. 如果 value 为标量并且 to_replace 是序列,则 value 用作每个项的 to_replace替换项。
subset 列表,可选 要考虑的列名的可选列表。 忽略子集中指定的不具有匹配数据类型的列。

退货

DataFrame:替换为已替换值的数据帧。

示例

df = spark.createDataFrame([
    (10, 80, "Alice"),
    (5, None, "Bob"),
    (None, 10, "Tom"),
    (None, None, None)],
    schema=["age", "height", "name"])

df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# |  20|    80|Alice|
# |   5|  NULL|  Bob|
# |NULL|    20|  Tom|
# |NULL|  NULL| NULL|
# +----+------+-----+

df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# |  10|    80|NULL|
# |   5|  NULL| Bob|
# |NULL|    10| Tom|
# |NULL|  NULL|NULL|
# +----+------+----+

df.na.replace(['Alice', 'Bob'], ['A', 'B'], 'name').show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# |  10|    80|   A|
# |   5|  NULL|   B|
# |NULL|    10| Tom|
# |NULL|  NULL|NULL|
# +----+------+----+