DataFrame.combine_first(other)
更新与null值的元素在同一位置等。
通过在一个DataFrame中使用来自其他DataFrame的非null值填充空值来组合两个DataFrame对象。生成的DataFrame的行索引和列索引将是两者的并集。
参数: | other : DataFrame 提供了用于填充空值的DataFrame。 |
返回: | combined : DataFrame |
例子
import pandas as pd
import numpy as np
# 创建示例数据
data1 = {'A': [1, 2, np.nan, 4],
'B': [5, np.nan, 7, np.nan],
'C': [np.nan, 10, 11, 12]}
df1 = pd.DataFrame(data1)
data2 = {'A': [10, 20, 30, 40],
'B': [50, 60, 70, 80],
'C': [90, 100, 110, 120]}
df2 = pd.DataFrame(data2)
# 使用 combine_first 方法合并两个 DataFrame
result = df1.combine_first(df2)
print("Original DataFrame df1:")
print(df1)
print("\nOriginal DataFrame df2:")
print(df2)
print("\nCombined DataFrame:")
print(result)
import pandas as pd
import numpy as np
# Example 1
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})
result1 = df1.combine_first(df2)
# Example 2
df3 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})
df4 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])
result2 = df3.combine_first(df4)
print("Example 1:")
print(result1)
print("\nExample 2:")
print(result2)