如何组合一列上的两个数据帧,其中一个数据帧中缺少行



我正在尝试组合数据帧_A:

file 1
file 2
file 3 
file 4 
file 5

带数据帧_B:

file 2 | some data  | more data
file 4 | other data | additional data
file 5 | data       | data data

沿着file_name列,最后显示如下内容:

file 1 |     ~      |      ~
file 2 | some data  | more data
file 3 |     ~      |      ~
file 4 | other data | additional data
file 5 | data       | data data

我想最终得到一个长度为dataframe_a的数据帧,以及来自dataframe_B的所有数据,并在中间的空格中使用空白/任何东西。

到目前为止,我尝试过的连接和合并最终得到的东西看起来像dataframe_B,这不是我想要的。我需要做什么?

使用mergehow='left'参数:

>>> dfA.merge(dfB, on='A', how='left').fillna('~')
A           B                C
0  file 1           ~                ~
1  file 2   some data        more data
2  file 3           ~                ~
3  file 4  other data  additional data
4  file 5        data        data data

我建议阅读我们的扩展介绍:Pandas Merging 101

设置:

dfA = pd.DataFrame({'A': ['file 1', 'file 2', 'file 3', 'file 4', 'file 5']})
dfB = pd.DataFrame({'A': ['file 2', 'file 4', 'file 5'],
'B': ['some data', 'other data', 'data'],
'C': ['more data', 'additional data', 'data data']})

最新更新