Pandas: как заполнить значения nan значениями из другого столбца


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

 df[' col1 '] = df[' col1 ']. fillna (df[' col2 '])

Этот конкретный синтаксис заменит все значения NaN в столбце 1 соответствующими значениями в столбце 2 .

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

Пример: заменить пропущенные значения другим столбцом

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

 import numpy as np
import pandas as pd

#create DataFrame with some NaN values
df = pd. DataFrame ({' team1 ': ['Mavs', np.nan, 'Nets', 'Hawks', np.nan, 'Jazz'],
                   ' team2 ': ['Spurs', 'Lakers', 'Kings', 'Celtics', 'Heat', 'Magic']})

#view DataFrame
df

        team1 team2
0 Mavs Spurs
1 NaN Lakers
2 Nets Kings
3 Hawks Celtics
4 NaN Heat
5 Jazz Magic

Обратите внимание, что в столбце team1 есть два значения NaN.

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

 #fill NaNs in team1 column with corresponding values in team2 column
df[' team1 '] = df[' team1 ']. fillna (df[' team2 '])

#view updated DataFrame
df

        team1 team2
0 Mavs Spurs
1 Lakers Lakers
2 Nets Kings
3 Hawks Celtics
4 Heat Heat
5 Jazz Magic

Обратите внимание, что два значения NaN в столбце team1 заменены соответствующими значениями в столбце team2 .

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *