Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает новое DataFrame заменяющее значение другим значением.
DataFrame.replace и DataFrameNaFunctions.replace являются псевдонимами друг друга. Значения для to_replace и value должны иметь одинаковый тип и могут быть только числовыми, логическими или строками.
value может быть None. При замене новое значение приведение к типу существующего столбца.
Синтаксис
replace(to_replace, value=None, subset=None)
Параметры
| Параметр | Тип | Описание |
|---|---|---|
to_replace |
bool, int, float, str, list или dict | Значение, которое необходимо заменить. Если дикт, то value он игнорируется и to_replace должен быть сопоставлением от значения к его замене. |
value |
bool, int, float, str или None, необязательный | Значение замены. Если список, должен совпадать с длиной и типом to_replace. Если скалярная и to_replace является последовательностью, скаляр используется в качестве замены для каждого элемента. |
subset |
list, необязательный | Имена столбцов, которые следует учитывать. Столбцы, в subset которых нет соответствующего типа данных, игнорируются. |
Возвраты
DataFrame
Примечания
Для числовых замен все значения, которые необходимо заменить, должны иметь уникальные представления с плавающей запятой. В случае конфликтов (например, {42: -1, 42.0: 1}используется произвольная замена).
Примеры
df = spark.createDataFrame([
(10, 80, "Alice"),
(5, None, "Bob"),
(None, 10, "Tom"),
(None, None, None)],
schema=["age", "height", "name"])
Замените 10 20 на все столбцы.
df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 20| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 20| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+
Замените 'Alice' значение NULL во всех столбцах.
df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80|NULL|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
Замените 'Alice' его 'A' и 'Bob' на 'B'name столбец.
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 18 в столбце age .
df.na.replace(10, 18, 'age').show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 18| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+