ganti (DataFrameNaFunctions)

Mengembalikan nilai baru DataFrame mengganti nilai dengan nilai lain. DataFrame.replace dan DataFrameNaFunctions.replace adalah alias satu sama lain. Nilai untuk to_replace dan value harus memiliki jenis yang sama dan hanya dapat berupa numerik, boolean, atau string. value dapat berupa None. Saat mengganti, nilai baru ditransmisikan ke jenis kolom yang ada.

Sintaksis

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

Parameter-parameternya

Parameter Tipe Deskripsi
to_replace bool, int, float, str, list, atau dict Nilai yang akan diganti. Jika dict, maka value diabaikan dan to_replace harus menjadi pemetaan dari nilai ke penggantinya.
value bool, int, float, str, atau None, opsional Nilai penggantian. Jika daftar, harus panjang dan jenis yang sama dengan to_replace. Jika skalar dan to_replace merupakan urutan, skalar digunakan sebagai pengganti untuk setiap item.
subset daftar, opsional Nama kolom yang perlu dipertimbangkan. Kolom di subset yang tidak memiliki tipe data yang cocok diabaikan.

Pengembalian Barang

DataFrame

Catatan

Untuk penggantian numerik, semua nilai yang akan diganti harus memiliki representasi floating-point yang unik. Dalam kasus konflik (misalnya, {42: -1, 42.0: 1}), penggantian arbitrer digunakan.

Examples

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

Ganti 10 dengan 20 di semua kolom.

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

Ganti 'Alice' dengan null di semua kolom.

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

Ganti 'Alice' dengan 'A' dan 'Bob' dengan 'B' di name kolom .

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

Ganti 10 dengan 18 di age kolom.

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