我可能正在接近这是错误的方式.如果我有两个数据帧a和b:
数据帧A:
a b c
1 2 4
1 6 5
1 8 7
Run Code Online (Sandbox Code Playgroud)
和Dataframe B:
a b c d
1 2 4 9
1 6 5 7
1 8 7 10
Run Code Online (Sandbox Code Playgroud)
我想加入它们,但是暂时将列名匹配的列加起来,并保留不匹配的列名.所以最终的连接表看起来像:
a b c d
2 4 8 9
2 12 10 7
2 16 14 10
Run Code Online (Sandbox Code Playgroud)
注意:索引始终匹配(即相同顺序的记录数相同)
你可以调用add更大的df传递另一个df并调用fillna:
In [18]:
df1.add(df).fillna(df1)
Out[18]:
a b c d
0 2 4 8 9
1 2 12 10 7
2 2 16 14 10
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用combine_first:
In [20]:
df1.add(df).combine_first(df1)
Out[20]:
a b c d
0 2 4 8 9
1 2 12 10 7
2 2 16 14 10
Run Code Online (Sandbox Code Playgroud)