我有2个带有X和Y列和行的pandas DataFrames dfAdfB

我需要在dfB上附加dfA,创建dfC。我需要追加到dfAdfB中具有列名的列上。

此外,如果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/

10-12 16:45