Pandas 数据帧combine_first()
方法
原文:https://www.studytonight.com/pandas/pandas-dataframe-combine_first-method
在本教程中,我们将学习 PandasDataFrame.combine_first()
的方法。它用其他中相同位置的值更新空元素,并返回数据帧。它通过用另一个数据帧中的非空值填充一个数据帧中的空值来组合两个数据帧对象。结果数据帧的行和列索引将是这两者的并集。
下图显示了DataFrame.combine_first()
方法的语法。
句法
DataFrame.combine_first(other)
因素
其他:它表示用于填充空值的其他提供的数据帧。
示例 1:使用DataFrame.combine_first()
方法组合数据帧
下面的例子展示了DataFrame.combine_first()
方法。
#importing pandas as pd
import pandas as pd
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})
print(df1.combine_first(df2))
一旦我们运行程序,我们将得到以下结果。
甲乙 0 1.0 3.0 1 0.0 4.0
示例 2:使用DataFrame.combine_first()
方法组合数据帧
下面的例子和上一个例子类似,在这个例子中尝试用df2
数据帧添加df1
数据帧,看看有什么不同。
#importing pandas as pd
import pandas as pd
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})
print(df2.combine_first(df1))
一旦我们运行程序,我们将得到以下结果。
甲乙 0 1 3 1 1 3
示例 3:如果两个数据帧中的同一元素为None
如果两个数据帧中的相同元素为None i
t,则两个数据帧对象以相同的空值组合。
#importing pandas as pd
import pandas as pd
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [None, 1], 'B': [None, 3]})
print(df1.combine_first(df2))
一旦我们运行程序,我们将得到以下结果。
A B 0 NaN NaN 1 0.0 4.0
示例 4:使用DataFrame.combine_first()
方法组合数据帧
如果该空值的位置不存在于其他中,则空值仍然保留在数据帧中。
import pandas as pd
df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})
df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])
print(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
结论
在本教程中,我们学习了 PandasDataFrame.combine_first()
方法。我们解决了一些例子,理解了DataFrame.combine_first()
方法有效地填充了数据帧中的空值,并为第一个数据帧中不存在的索引和列提供了值。