Обновление кадра данных по кадрам со значениями NaN - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь обновить DataFrame

df1 = pd.DataFrame(data = {'A' : [1,2,3,4], 'B' : [5,6,7,8]})

другим DataFrame

df2 = pd.DataFrame(data = {'B' : [9, np.nan, 11, np.nan]}).

Теперь моя цель - обновить df1 на df2 и перезаписать все значения (NaN значений) с использованием

df1.update(df2)

В отличие от обычного использования, для меня важно, чтобы значения NaN были окончательно получены в df1.Но, насколько я вижу, обновление возвращает

>>> df1
      A   B
0     1   9
1     2   6
2     3   11
3     4   8

Есть ли способ получить

>>> df1
    A    B
0   1    9
1   2    NaN
2   3    11
3   4    NaN

без сборки df1 вручную?

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Полагаю, вы имели в виду [9, np.nan, 11, np.nan], а не строку "nan".

Если нет необходимости использовать update(), тогда вместо этого введите df1.B = df2.B, чтобы новый df1.B содержал NaN.

DataFrame.update() только обновляет значения не-NA.См документы

0 голосов
/ 09 октября 2018

У меня тоже отлично работает.Вы могли бы использовать np.nan вместо «nan»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...