Обработка пропущенных значений в 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() также может использоваться для замены нескольких значений одновременно или для замены значений на основе условий.
А какие ещё вы знаете методы? Поделитесь в комментариях ;)

