首页 > 解决方案 > 在占 nan 的特定列上加入 2 个 Pandas 数据框

问题描述

我有 2 个 pandas DataFramesdfAdfBX 和 Y 列和行。

我需要追加dfBdfA创建dfC。我需要将附加内容放在列名在dfA和中的列上dfB

此外,如果 in 中的列名dfA未出现在 中dfBdfC则应包含 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     

我该怎么做呢?

标签: pythonpandas

解决方案


尝试这个,

pd.concat([dfA,dfB[['c1','c2']]])

避免硬编码列

尝试这个,

inter=list(set(dfA.columns)&set(dfB.columns))
print pd.concat([dfA,dfB[inter]])

推荐阅读