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

How to use join to fill missing values of a column - Python Pandas?

具体来说,假设我们有两个 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

有什么有效的方法吗?

您可以使用 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