maxframe.dataframe.DataFrame.combine_first#

DataFrame.combine_first(other)#

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

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

参数:

other (DataFrame) -- 用于填充空值的 DataFrame。

返回:

将提供的 DataFrame 与另一个对象合并后的结果。

返回类型:

DataFrame

参见

DataFrame.combine

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

示例

>>> import maxframe.dataframe as md
>>> df1 = md.DataFrame({'A': [None, 0], 'B': [None, 4]})
>>> df2 = md.DataFrame({'A': [1, 1], 'B': [3, 3]})
>>> df1.combine_first(df2).execute()
     A    B
0  1.0  3.0
1  0.0  4.0

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

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