Python 具有不完整值的两个数据帧

Python 具有不完整值的两个数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,假设我有两个id为:1,2,3,4,5的数据帧A和B。。。它们有相同的列:id、quantity和attr_1。但它们缺少如下值: A id quantity attr_1 0 1 NaN 0 1 2 23 1 2 3 19 NaN 3 4 20 1 B id quantity attr_1 0 1

假设我有两个id为:1,2,3,4,5的数据帧A和B。。。它们有相同的列:id、quantity和attr_1。但它们缺少如下值:

A

  id  quantity  attr_1  
0  1        NaN      0       
1  2        23       1       
2  3        19       NaN      
3  4        20       1    

B

  id  quantity  attr_1  
0  1        11       NaN       
1  3        Nan      1       
2  4        20       1      
3  5        19       0    
expected for A:

  id  quantity  attr_1  
0  1        11       0       
1  2        23       1       
2  3        19       1      
3  4        19       0   

expected for B:

  id  quantity  attr_1  
0  1        11       0       
1  3        19       1       
2  4        19       1      
3  5        19       0   
我不想将它们合并在一起,因为我需要单独处理它们。 如何相互填充这些缺失的值并生成如下结果:

A

  id  quantity  attr_1  
0  1        NaN      0       
1  2        23       1       
2  3        19       NaN      
3  4        20       1    

B

  id  quantity  attr_1  
0  1        11       NaN       
1  3        Nan      1       
2  4        20       1      
3  5        19       0    
expected for A:

  id  quantity  attr_1  
0  1        11       0       
1  2        23       1       
2  3        19       1      
3  4        19       0   

expected for B:

  id  quantity  attr_1  
0  1        11       0       
1  3        19       1       
2  4        19       1      
3  5        19       0   

这应该很容易做到:

dfA.fillna(dfB)
dfB.fillna(dfA)
当索引相同时,此项工作正常。否则,您必须在执行上述代码之前进行设置:

dfA = dfA.set_index('id')
dfB = dfB.set_index('id')

这应该很容易做到:

dfA.fillna(dfB)
dfB.fillna(dfA)
当索引相同时,此项工作正常。否则,您必须在执行上述代码之前进行设置:

dfA = dfA.set_index('id')
dfB = dfB.set_index('id')

这里的逻辑是什么?预期A和预期B是否正确?这里的逻辑是什么?预期A和预期B是否正确?