Как заполнить значения NA для нескольких столбцов в Pandas


Функция 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

Обратите внимание, что каждое из отсутствующих значений в трех столбцах было заменено некоторым уникальным значением.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.