我有2个带有X和Y列和行的pandas DataFrames dfA
和dfB
。
我需要在dfB
上附加dfA
,创建dfC
。我需要追加到dfA
和dfB
中具有列名的列上。
此外,如果dfA
中的列名未出现在dfB
中,则dfC
应包含Nan值。
为了简化,dfA
看起来像
c1 c2 c3
0 AX1 AX2 AX3
1 AY1 AY2 AY3
2 AZ1 AZ2 AZ3
虽然
dfB
看起来像 c1 c2 c4
0 BX1 BX2 BX3
1 BY1 BY2 BY3
2 BZ1 BZ2 BZ3
这样
dfC
应该看起来像, c1 c2 c3
0 AX1 AX2 AX3
1 AY1 AY2 AY3
2 AZ1 AZ2 AZ3
3 BX1 BX2 Nan
4 BY1 BY2 Nan
5 BZ1 BZ2 Nan
我该怎么做呢?
最佳答案
使用concat
并过滤dfA
列:
df = pd.concat([dfA, dfB])[dfA.columns]
或按
intersection
过滤列:cols = dfA.columns.intersection(dfB.columns)
df = pd.concat([dfA, dfB[cols]])
关于python - 在特定列上加入2个Pandas数据框,占nan,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53445991/