объединить 2 кадра данных панд в 1 с приоритетом данных - PullRequest
0 голосов
/ 02 июня 2018

У меня есть 2 кадра данных:

A = [ A  B  C
name1 1  2  3
name2 1  2  3
name3 1  2  3
]

B = [  A  B  C  D
name1 11 12 13 12
name2 12 22 23 23
name3 31 32 33 14
name4 41 42 43 44
] 

Я хотел бы добавить в столбцы A и строки, которых у меня нет в A, но есть в B, без изменения существующих данных в A

В результате А должно быть:

A = [ A  B  C  D
name1 1  2  3  12
name2 1  2  3  23
name3 1  2  3  14
name4 41 42 43 44
]

Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Вы можете использовать reindex, а затем fillna:

index = A.index.union(B.index)
columns = A.columns.union(B.columns)
A.reindex(index=index, columns=columns).fillna(B).astype(int)

        A   B   C   D
name1   1   2   3  12
name2   1   2   3  23
name3   1   2   3  14
name4  41  42  43  44
0 голосов
/ 02 июня 2018

Использование combine_first

df1.combine_first(df2).astype(int)

        A   B   C   D
name1   1   2   3  12
name2   1   2   3  23
name3   1   2   3  14
name4  41  42  43  44
...