pandas之combine_first() 合并重叠数据(修补)

数据合并处理中,还有一种数据组合的处理方法,那就是合并重叠数据我也把他叫修补python

合并重叠数据使用 combine_first() 函数,该函数的语法格式以下。web

obj1.combine_first(obj2)

其中,obj1 为函数调用对象的数据集;obj2 为函数参数对象的数据集。svg

该函数的做用是用函数参数对象中的数据为函数调用对象的缺失数据“打补丁”,即填充函数调用对象中的数据缺失值。函数

代码以下:spa

import numpy as np
import pandas as pd
print("========#修补pd.combine_first()========")
df1=pd.DataFrame([[np.nan, 3., 5.], [-4.6,np.nan,np.nan],[np.nan,7.,np.nan]])
df2=pd.DataFrame([[-42.6,np.nan,-8.2],[-5.,1.6,4]],index=[1,2])
print(df1)
print(df2)
print(df1.combine_first(df2))#根据index,def的空值被df2代替

运行结果:
在这里插入图片描述
能够看到df1是三行,df2是两行,combine_first(df2)函数的意义就是填充,修补。df1把df2没有的第一行修补上。并且以0为行索引的值没变3d

能够对比df1与df2行索引对应的值code

df1
在这里插入图片描述
df2
在这里插入图片描述
合并后:
在这里插入图片描述
对比之下能够看出,两个都是none的,合并以后仍是none,一个是none,另外一个不是的那将none填充。xml

例二:对象

print("------------例二:---------------")
df1=pd.DataFrame({ 
 
  'A':[None,0],'B':[None,4]})
df2=pd.DataFrame({ 
 
  'A':[1,1,1],'B':[3,3,3]})
print(df1)
print(df2)
print(df1.combine_first(df2))

在这里插入图片描述

这就是combine_first() 的做用blog

新手总结,若有错误,请批评指正。

相关文章
相关标签/搜索