如何使用join来填充列的缺失值 - Python Pandas?

时间:2015-05-13 23:24:20

标签: python join pandas left-join concatenation

具体来说,我们有两个DataFrame:

DF1:

date    A
12/1/14 3
12/2/14 NaN
12/3/14 2
12/2/14 NaN
12/4/14 NaN
12/6/14 5

DF2:

        B
12/2/14 20
12/4/14 30

我想做一种左外连接来填充df1中的缺失值,并生成

DF3:

date    A
12/1/14 3
12/2/14 20
12/3/14 2
12/2/14 20
12/4/14 30
12/6/14 5

任何有效的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用combine_first(只有列名称应匹配,因此我首先在df2中重命名列B):

In [8]: df2 = df2.rename(columns={'B':'A'})

In [9]: df1.combine_first(df2)
Out[9]:
          A
12/1/14   3
12/2/14  20
12/2/14  20
12/3/14   2
12/4/14  30
12/6/14   5