заполнение значений Nan в зависимости от условий - PullRequest
1 голос
/ 22 апреля 2020

Я имею дело с пропущенными значениями. Я использую набор данных Titani c и пытаюсь заполнить пропущенные значения на основе значения Pclass.

Набор данных:


           Pclass   Age

             3      Nan
             3      23.0
             2      Nan
             1      21.0
             1      Nan

Это может быть глупо сомневаюсь, но в этом блоке кода показано ниже. Я получаю предупреждение для всех 3 строк:

Data = pd.read_csv('train.csv')

Data.loc[Data.Pclass == 1][Data.Age.isnull()].fillna(38.0,inplace = True)
Data.loc[Data.Pclass == 2][Data.Age.isnull()].fillna(28.0,inplace = True)
Data.loc[Data.Pclass == 3][Data.Age.isnull()].fillna(22.0,inplace = True)

UserWarning: ключ логической серии будет переиндексирован для соответствия индексу DataFrame.

Я хочу произвести следующее Результат:


           Pclass   Age

             3      22.0
             3      23.0
             2      28.0
             1      21.0
             1      38.0


Спасибо

1 Ответ

1 голос
/ 22 апреля 2020

Давайте сделаем

Data.Age=Data.Age.fillna(Data.Pclass.map({1:38,2:28,3:22})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...