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 的值。
参见
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