pandas.DataFrame.combine_first#

DataFrame.combine_first(other)[源代码][源代码]#

使用 other 中相同位置的值更新空元素。

通过将一个DataFrame中的空值填充为另一个DataFrame中的非空值来合并两个DataFrame对象。结果DataFrame的行和列索引将是两者的并集。结果DataFrame包含’第一个’DataFrame的值,并在调用first.combine_first(second)时,如果first.loc[index, col]和second.loc[index, col]都不是缺失值,则覆盖第二个DataFrame的值。

参数:
其他DataFrame

提供的 DataFrame 用于填充空值。

返回:
DataFrame

将提供的 DataFrame 与其他对象组合的结果。

参见

DataFrame.combine

使用给定的函数对两个DataFrame执行按系列操作。

例子

>>> df1 = pd.DataFrame({"A": [None, 0], "B": [None, 4]})
>>> df2 = pd.DataFrame({"A": [1, 1], "B": [3, 3]})
>>> df1.combine_first(df2)
     A    B
0  1.0  3.0
1  0.0  4.0

如果该空值的位置在 other 中不存在,空值仍然会保留。

>>> df1 = pd.DataFrame({"A": [None, 0], "B": [4, None]})
>>> df2 = pd.DataFrame({"B": [3, 3], "C": [1, 1]}, index=[1, 2])
>>> df1.combine_first(df2)
     A    B    C
0  NaN  4.0  NaN
1  0.0  3.0  1.0
2  NaN  3.0  1.0