Функция pandas fillna() полезна для заполнения пропущенных значений в столбцах фрейма данных pandas.
В этом руководстве представлено несколько примеров использования этой функции для заполнения отсутствующих значений для нескольких столбцов следующего кадра данных pandas:
import pandas as pd
import numpy as np
#create DataFrame
df = pd.DataFrame({'team': ['A', np.nan , 'B', 'B', 'B', 'C', 'C', 'C'],
'points': [25, np.nan , 15, np.nan , 19, 23, 25, 29],
'assists': [5, 7, 7, 9, 12, 9, np.nan , 4],
'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
print(df)
team points assists rebounds
0 A 25.0 5.0 11
1 NaN NaN 7.0 8
2 B 15.0 7.0 10
3 B NaN 9.0 6
4 B 19.0 12.0 6
5 C 23.0 9.0 5
6 C 25.0 NaN 9
7 C 29.0 4.0 12
Пример 1: заполнить пропущенные значения всех столбцов
В следующем коде показано, как заполнить отсутствующие значения нулями для всех столбцов в DataFrame:
#replace all missing values with zero
df.fillna(value= 0 , inplace= True )
#view DataFrame
print(df)
team points assists rebounds
0 A 25.0 5.0 11
1 0 0.0 7.0 8
2 B 15.0 7.0 10
3 B 0.0 9.0 6
4 B 19.0 12.0 6
5 C 23.0 9.0 5
6 C 25.0 0.0 9
7 C 29.0 4.0 12
Пример 2. Заполнение пропущенных значений нескольких столбцов
В следующем коде показано, как заполнить отсутствующие значения нулем только для столбцов точек и вспомогательных функций в DataFrame:
#replace missing values in points and assists columns with zero
df[['points', 'assists']] = df[['points', 'assists']]. fillna (value= 0 )
#view DataFrame
print(df)
team points assists rebounds
0 A 25.0 5.0 11
1 NaN 0.0 7.0 8
2 B 15.0 7.0 10
3 B 0.0 9.0 6
4 B 19.0 12.0 6
5 C 23.0 9.0 5
6 C 25.0 0.0 9
7 C 29.0 4.0 12
Пример 3. Заполните пропущенные значения нескольких столбцов разными значениями
В следующем коде показано, как заполнить пропущенные значения в трех разных столбцах тремя разными значениями:
#replace missing values in three columns with three different values
df.fillna({'team':' Unknown', 'points': 0 , 'assists': ' zero '}, inplace= True )
#view DataFrame
print(df)
team points assists rebounds
0 A 25.0 5 11
1 Unknown 0.0 7 8
2 B 15.0 7 10
3 B 0.0 9 6
4 B 19.0 12 6
5 C 23.0 9 5
6 C 25.0 zero 9
7 C 29.0 4 12
Обратите внимание, что каждое из отсутствующих значений в трех столбцах было заменено некоторым уникальным значением.