replace (DataFrameNaFunctions)

Bir değeri başka bir değerle değiştirerek yeni DataFrame bir değer döndürür. DataFrame.replace ve DataFrameNaFunctions.replace birbirlerinin diğer adlarıdır. ve to_replace değerleri value aynı türe sahip olmalıdır ve yalnızca sayısal değerler, boole değerleri veya dizeler olabilir. value olabilir None. değiştirildiğinde, yeni değer mevcut sütunun türüne türe değiştirilir.

Sözdizimi

replace(to_replace, value=None, subset=None)

Parametreler

Parametre Türü Açıklama
to_replace bool, int, float, str, list veya dict Değiştirilecek değer. Bir dikte value yoksayılır ve to_replace bir değerden onun yerine eşleme olmalıdır.
value bool, int, float, str veya None, isteğe bağlı Değiştirme değeri. Liste aynı uzunlukta olmalı ve ile to_replaceyazmalıdır. Skaler ve to_replace bir dizi ise, her öğenin yerine skaler kullanılır.
subset liste, isteğe bağlı Dikkate alınması gereken sütun adları. subset Eşleşen veri türü olmayan sütunlar yoksayılır.

İadeler

DataFrame

Notlar

Sayısal değiştirmeler için, değiştirilecek tüm değerlerin benzersiz kayan nokta gösterimleri olmalıdır. Çakışma durumunda (örneğin, {42: -1, 42.0: 1}), rastgele bir değiştirme kullanılır.

Örnekler

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

10 değerini tüm sütunlarda 20 ile değiştirin.

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

değerini tüm sütunlarda null ile değiştirin 'Alice' .

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

sütunda 'Alice' ile 'A' ve 'Bob' ile 'B' değiştirinname.

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

10 değerini sütunda age 18 ile değiştirin.

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