Имея некоторые проблемы с заполнением NaNs. Я хочу взять столбец dataframe с несколькими NaN и заполнить их значением, полученным из таблицы поиска, на основе значения из другого столбца. (Вы могли бы признать мои данные из набора данных Titanic) ...Pandas fillna с поисковым столом
Pclass Age
0 1 33
1 3 24
2 1 23
3 2 NaN
4 1 Nan
Я хочу, чтобы заполнить NaN со значением из серии «pclass_lookup»:
pclass_lookup
1 38.1
2 29.4
3 25.2
Я пытался делать fillna с индексацией как:
df.Age.fillna(pclass_lookup[df.Pclass]), but it gives me an error of
ValueError: cannot reindex from a duplicate axis
лямбды были тоже попробовать:
df.Age.map(lambda x: x if x else pclass_lookup[df.Pclass]
но, похоже, это тоже не для заполнения. Неужели я полностью потерял лодку здесь? '
Все три ответа работали отлично. Функция vrajs5 довольно проста. Этот ответ, хотя и плотный, чтобы посмотреть, был именно тем, что я пытался сделать. пс. Извините за типографию Nan – zampy
Вы, вероятно, найдете, что карта вызова, подобная этому, будет самым быстрым методом – EdChum