Spec-Zone.ru › Polars

polars.Series.replace_strict

Series.replace_strict(
    old: IntoExpr | Sequence[Any] | Mapping[Any,
    Any],
    new: IntoExpr | Sequence[Any] | NoDefault = <no_default>,
    *,
    default: IntoExpr | NoDefault = <no_default>,
    return_dtype: PolarsDataType | None = None,
) → Self

Заменяет все значения другими значениями.

Параметры:
old

Значение или последовательность значений для замены. Также принимает отображение значений на значения для замены в качестве синтаксического сахара для replace_strict(old=Series(mapping.keys()), new=Series(mapping.values())).

new

Значение или последовательность значений, которыми нужно заменить. Длина должна совпадать с длиной old или быть равна 1.

default

Задаёт значение для значений, которые не были заменены. Если значение по умолчанию не указано (по умолчанию), возникает ошибка, если какие-либо значения не были заменены. Принимает выражение. Входные данные, не являющиеся выражениями, разбираются как литералы.

return_dtype

Тип данных результирующего Series. Если задано значение None (по умолчанию), тип данных определяется автоматически на основе остальных входных данных.

Вызывает исключение:
InvalidOperationError

Если какие-либо ненулевые значения в исходном столбце не были заменены и значение default не было указано.

См. также

replace
str.replace

Примеры

Замените значения, передав последовательности в параметры old и new.

>>> s = pl.Series([1, 2, 2, 3])
>>> s.replace_strict([1, 2, 3], [100, 200, 300])
shape: (4,)
Series: '' [i64]
[
    100
    200
    200
    300
]

В качестве синтаксического сахара также поддерживается передача отображения замен.

>>> mapping = {1: 100, 2: 200, 3: 300}
>>> s.replace_strict(mapping)
shape: (4,)
Series: '' [i64]
[
    100
    200
    200
    300
]

По умолчанию возникает ошибка, если какие-либо ненулевые значения не были заменены. Укажите значение по умолчанию, чтобы задать его для всех значений, для которых не нашлось соответствия.

>>> mapping = {2: 200, 3: 300}
>>> s.replace_strict(mapping)  
Traceback (most recent call last):
...
polars.exceptions.InvalidOperationError: incomplete mapping specified for `replace_strict`
>>> s.replace_strict(mapping, default=-1)
shape: (4,)
Series: '' [i64]
[
    -1
    200
    200
    300
]

Значением по умолчанию может быть другой Series.

>>> default = pl.Series([2.5, 5.0, 7.5, 10.0])
>>> s.replace_strict(2, 200, default=default)
shape: (4,)
Series: '' [f64]
[
    2.5
    200.0
    200.0
    10.0
]

При замене значениями другого типа данных тип результата определяется на основе сочетания типа данных new и типа данных default.

>>> s = pl.Series(["x", "y", "z"])
>>> mapping = {"x": 1, "y": 2, "z": 3}
>>> s.replace_strict(mapping)
shape: (3,)
Series: '' [i64]
[
    1
    2
    3
]
>>> s.replace_strict(mapping, default="x")
shape: (3,)
Series: '' [str]
[
    "1"
    "2"
    "3"
]

Задайте параметр return_dtype, чтобы напрямую управлять типом данных результата.

>>> s.replace_strict(mapping, return_dtype=pl.UInt8)
shape: (3,)
Series: '' [u8]
[
    1
    2
    3
]

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/series/api/polars.Series.replace_strict.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API