Pandas: как заполнить значения NaN с помощью режима


Вы можете использовать следующий синтаксис для замены значений NaN в столбце кадра данных pandas значением режима столбца:

df['col1'] = df['col1']. fillna(df['col1']. mode ()[0])

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: заменить отсутствующие значения режимом в Pandas

Предположим, у нас есть следующие Pandas DataFrame с некоторыми пропущенными значениями:

import numpy as np
import pandas as pd

#create DataFrame with some NaN values
df = pd.DataFrame({'rating': [np.nan, 85, np.nan, 88, 94, 90, 75, 75, 87, 86],
 'points': [25, np.nan, 14, 16, 27, 20, 12, 15, 14, 19],
 'assists': [5, 7, 7, np.nan, 5, 7, 6, 9, 9, 7],
 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame
df

 rating points assists rebounds
0 NaN 25.0 5.0 11
1 85.0 NaN 7.0 8
2 NaN 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 75.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 7.0 7

Мы можем использовать функцию fillna() , чтобы заполнить значения NaN в столбце рейтинга значением режима столбца рейтинга :

#fill NaNs with column mode in 'rating' column
df['rating'] = df['rating']. fillna(df['rating']. mode ()[0])

#view updated DataFrame 
df

 rating points assists rebounds
0 75.0 25.0 5.0 11
1 85.0 NaN 7.0 8
2 75.0 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 75.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 7.0 7

Значение режима в столбце рейтинга было равно 75 , поэтому каждое из значений NaN в столбце рейтинга было заполнено этим значением.

Примечание.Полную онлайн-документацию по функции fillna() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как подсчитать пропущенные значения в Pandas
Как удалить строки со значениями NaN в Pandas
Как удалить строки, содержащие определенное значение в Pandas

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