Заполнение пропущенных значений в pandas | Метод fillna

Метод fillna() в библиотеке pandas предназначен для заполнения пропущенных значений (NaN) в объекте DataFrame или Series. Этот метод дает возможность замены NaN на другие значения, такие как скалярные значения, словари или другие структуры данных.

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

Применение метода fillna() может значительно упростить этот процесс и предоставить пользователю гибкость в выборе подходящего способа заполнения. Вот несколько примеров кода, демонстрирующих использование fillna() в различных сценариях.

1. Заполнение всех пропущенных значений в DataFrame константным значением:

import pandas as pd

data = {'A': [1, 2, None, 4, 5],
        'B': [None, 6, 7, 8, None],
        'C': [9, None, 11, None, 13]}
df = pd.DataFrame(data)

filled_df = df.fillna(0)
print(filled_df)

Output:

     A    B     C
0  1.0  0.0   9.0
1  2.0  6.0   0.0
2  0.0  7.0  11.0
3  4.0  8.0   0.0
4  5.0  0.0  13.0

2. Заполнение пропущенных значений в DataFrame средним значением столбца:

import pandas as pd

data = {'A': [1, 2, None, 4, 5],
        'B': [None, 6, 7, 8, None],
        'C': [9, None, 11, None, 13]}
df = pd.DataFrame(data)

mean_values = df.mean()
filled_df = df.fillna(mean_values)
print(filled_df)

Output:

     A    B     C
0  1.0  7.0   9.0
1  2.0  6.0  10.7
2  3.0  7.0  11.0
3  4.0  8.0  10.7
4  5.0  7.0  13.0

3. Заполнение пропущенных значений в DataFrame сразу несколькими значениями:

import pandas as pd

data = {'A': [1, 2, None, 4, 5],
        'B': [None, 6, 7, 8, None],
        'C': [9, None, 11, None, 13]}
df = pd.DataFrame(data)

values = {'A': 0, 'B': -1, 'C': 'missing'}
filled_df = df.fillna(values)
print(filled_df)

Output:

   A  B         C
0  1 -1         9
1  2  6   missing
2  0  7        11
3  4  8   missing
4  5 -1        13

4. Заполнение пропущенных значений в серии средним значением:

import pandas as pd
import numpy as np

series = pd.Series([1, 2, np.nan, 4, 5])

mean_value = series.mean()
filled_series = series.fillna(mean_value)
print(filled_series)

Output:

0    1.0
1    2.0
2    3.0
3    4.0
4    5.0
dtype: float64

5. Заполнение пропущенных значений в серии ближайшим к ним значением вперед или назад:

import pandas as pd

series = pd.Series([1, 2, None, None, 5])

filled_series_forward = series.fillna(method='ffill')
filled_series_backward = series.fillna(method='bfill')
print(filled_series_forward)
print(filled_series_backward)

Output:

0    1.0
1    2.0
2    2.0
3    2.0
4    5.0
dtype: float64
0    1.0
1    2.0
2    5.0
3    5.0
4    5.0
dtype: float64

Это только небольшая часть возможностей метода fillna(). Различные параметры, такие как limit, axis и inplace, позволяют дополнительно настраивать его поведение в соответствии с требованиями пользователей. Рекомендуется обращаться к официальной документации pandas для полного ознакомления с возможностями и вариантами использования метода fillna().

Похожие вопросы на: "fillna pandas "

Visual Studio Community: бесплатная интегрированная среда разработки
Добро пожаловать в мир z y x
JS if else: примеры, синтаксис, условия JavaScript кода
Time UTC - точное время по всему миру
PyPy - ускоренная и эффективная реализация языка Python
Изучаем циклы for в Python
Значения Python
Конвертер PNG в WebP
Горячие клавиши PyCharm
Размеры name: выбор и советы для правильного подбора