如何使用连接来填充列的缺失值 - 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
具体来说,假设我们有两个 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