Как использовать функцию where() в pandas (с примерами)
Функцию Where() можно использовать для замены определенных значений в DataFrame pandas.
Эта функция использует следующий базовый синтаксис:
df. where (cond, other=nan)
Для каждого значения в DataFrame pandas, где cond имеет значение True, исходное значение сохраняется.
Для каждого значения, где cond имеет значение False, исходное значение заменяется значением, указанным другим аргументом.
В следующих примерах показано, как использовать этот синтаксис на практике со следующим DataFrame pandas:
import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Пример 1: Замена значений по всему DataFrame
В следующем коде показано, как использовать функцию Where() для замены всех значений, которые не соответствуют определенному условию во всем DataFrame pandas, значением NaN.
#keep values that are greater than 7, but replace all others with NaN df. where (df>7) points assists rebounds 0 25 NaN 11.0 1 12 NaN 8.0 2 15 NaN 10.0 3 14 9.0 NaN 4 19 12.0 NaN 5 23 9.0 NaN 6 25 9.0 9.0 7 29 NaN 12.0
Мы также можем использовать другой аргумент, чтобы заменить значения чем-то отличным от NaN.
#keep values that are greater than 7, but replace all others with 'low' df. where (df>7, other=' low ') points assists rebounds 0 25 low 11 1 12 low 8 2 15 low 10 3 14 9 low 4 19 12 low 5 23 9 low 6 25 9 9 7 29 low 12
Пример 2. Замена значений в определенном столбце DataFrame
Следующий код показывает, как использовать функцию Where() для замены всех значений, не соответствующих определенному условию, в определенном столбце DataFrame.
#keep values greater than 15 in 'points' column, but replace others with 'low' df[' points '] = df[' points ']. where (df[' points ']>15, other=' low ') #view DataFrame df points assists rebounds 0 25 5 11 1 low 7 8 2 low 7 10 3 low 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Полную онлайн-документацию по функции pandaswhere() вы можете найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции в pandas:
Как использовать функцию описания() в Pandas
Как использовать функцию idxmax() в Pandas
Как применить функцию к выбранным столбцам в Pandas