Python 具有不完整值的两个数据帧
假设我有两个id为:1,2,3,4,5的数据帧A和B。。。它们有相同的列:id、quantity和attr_1。但它们缺少如下值: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
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是否正确?