РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
30 of 687 menu

Метод mask

Метод mask применяется к DataFrame и заменяет значения на переданные, если они удовлетворяют условию. Первым параметром передаётся условие, вторым - значение для замены. По умолчанию заменяет на NaN.

Синтаксис

df.mask(cond, other=nan, inplace=False, axis=None, level=None, errors='raise')

Пример

Давайте заменим все значения в столбце a, которые больше 2, на 0:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.mask(df['a'] > 2, 0) print(res)

Результат выполнения кода:

a b 0 1 10 1 2 20 2 0 30 3 0 40 4 0 50

Пример

А теперь заменим значения во всей таблице, которые меньше 25, на -1:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.mask(df < 25, -1) print(res)

Результат выполнения кода:

a b 0 -1 -1 1 -1 -1 2 -1 30 3 -1 40 4 -1 50

Пример

Заменим значения в столбце b, которые равны 30, на 99, используя параметр other:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.mask(df['b'] == 30, 99) print(res)

Результат выполнения кода:

a b 0 1 10 1 2 20 2 3 99 3 4 40 4 5 50

Пример

Метод mask также работает с несколькими условиями с использованием логических операторов:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) cond = (df['a'] > 2) & (df['b'] < 50) res = df.mask(cond, 100) print(res)

Результат выполнения кода:

a b 0 1 10 1 2 20 2 3 100 3 4 100 4 5 50

Смотрите также

  • метод where,
    который оставляет значения, удовлетворяющие условию
  • метод replace,
    который заменяет указанные значения на новые
  • метод isin,
    который проверяет вхождение элементов в список
  • метод fillna,
    который заполняет пропущенные значения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить