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

Posted

技术标签:

【中文标题】如何使用连接来填充列的缺失值 - Python Pandas?【英文标题】:How to use join to fill missing values of a column - Python Pandas? 【发布时间】:2015-07-25 10:45:49 【问题描述】:

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

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

【讨论】:

以上是关于如何使用连接来填充列的缺失值 - Python Pandas?的主要内容,如果未能解决你的问题,请参考以下文章