Pandas dataframe, как заменить строку одной с дополнительными атрибутами - PullRequest
0 голосов
/ 21 октября 2018

У меня есть метод, который добавляет дополнительные атрибуты к данной серии панд, и я хочу обновить строку в df с возвращенной серией.

Допустим, у меня есть простой фрейм данных: df = pd.DataFrame({'a':[1, 2], 'b':[3, 4]})

   a  b
0  1  3
1  2  4

и теперь я хочу заменить строку на одну с дополнительными атрибутами, все остальные строки будут отображать Nan для этого столбца, например:

subdf = df.loc[1]
subdf["newVal"] = "foo"  
# subdf is created externally and returned. Now it must be updated.
df.loc[1] = subdf #or something

df будет выглядеть так:

   a  b newVal
0  1  3    Nan
1  2  4    foo

1 Ответ

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

Без потерь в обобщении, сначала reindex, а затем присваивайте с (i)loc:

df = df.reindex(subdf.index, axis=1)
df.iloc[-1] = subdf

df     
   a  b newVal
0  1  3    NaN
1  2  4    foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...