Обработка пропущенных значений в pandas
При работе с данными в pandas, иногда возникает необходимость обрабатывать пропущенные значения. Вот несколько способов, которые могут помочь вам в этом.

Метод isnull()
Метод isnull()
в pandas используется для определения пропущенных значений в DataFrame. Он возвращает DataFrame той же формы, что и исходный, но с булевыми значениями, где True
указывает на пропущенные значения.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, np.nan, 4, 5]})
null_values = df.isnull()
Пример использования метода isnull()
В этом примере метод isnull()
применяется к DataFrame df
. Результатом будет DataFrame null_values
, в котором True
указывает на пропущенные значения в исходном DataFrame.
Метод fillna()
Метод fillna()
в pandas используется для заполнения пропущенных значений определенным значением в DataFrame.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, np.nan, 4, 5]})
df_filled = df.fillna(value=0)
Пример использования метода fillna()
В этом примере метод fillna()
применяется к DataFrame df
. Пропущенные значения в столбце 'A' заполняются значением 0. Результат сохраняется в новом DataFrame df_filled
.
Метод fillna()
также может использоваться для заполнения пропущенных значений средним, медианой или другими статистическими показателями. Например:
df_filled = df.fillna(df.mean())
В этом случае пропущенные значения заполняются средним значением столбца 'A' в DataFrame df
.
Метод dropna()
Метод dropna()
в pandas используется для удаления строк или столбцов с пропущенными значениями в DataFrame.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, np.nan, 4, 5], 'B': [np.nan, 1, 2, np.nan, 5]})
df_dropped = df.dropna()
Пример использования метода dropna()
В этом примере метод dropna()
применяется к DataFrame df
. В результате удаляются строки, содержащие хотя бы одно пропущенное значение. Результат сохраняется в новом DataFrame df_dropped
.
Метод dropna()
также может использоваться с различными параметрами, такими как axis
, how
, thresh
и subset
, чтобы определить, какие строки или столбцы следует удалить.
Метод interpolate()
Метод interpolate()
в pandas используется для интерполяции пропущенных значений в DataFrame.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, np.nan, 4, 5]})
df_interpolated = df.interpolate()
Пример использования метода interpolate()
В этом примере метод interpolate()
применяется к DataFrame df
. Он заполняет пропущенные значения, вычисляя значения, которые находятся между существующими значениями.
Метод interpolate()
может использовать различные алгоритмы интерполяции, такие как линейная, квадратичная или кубическая интерполяция, в зависимости от параметров, переданных в метод.
Метод replace()
Метод replace()
в pandas используется для замены определенных значений на пропущенные значения в DataFrame.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': ['one', 'two', 'three', 'four', 'five']})
df_replaced = df.replace(2, np.nan)
Пример использования метода replace()
В этом примере метод replace()
применяется к DataFrame df
. Значение 2 в столбце 'A' заменяется на пропущенное значение (NaN). Результат сохраняется в новом DataFrame df_replaced
.
Метод replace()
также может использоваться для замены нескольких значений одновременно или для замены значений на основе условий.
А какие ещё вы знаете методы? Поделитесь в комментариях ;)
