数据清洗(2.2):concat函数
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
       keys=None, levels=None, names=None, verify_integrity=False)
主要学习axis和join。
igore_index为行索引,下面的例子中True就是不显示人物名字,默认False显示名字
axis=0对应行,1对应列,join有两种行驶,外连接(outer)和内连接(inner)
情况一:不同字段:

(1)pd.concat([h1,h2],axis=0,join='inner')
比较列名:语数英和篮球舞蹈没有交集,所以显示[]
Empty DataFrame
Columns: []
Index: [韩梅梅, 李雷, 李华, 王明, 铁蛋, 李华, 王明, 铁蛋, 刘强]
(2)pd.concat([h1,h2],axis=1,join='inner')
比较行名:李华,王明,铁蛋为交集,显示三条记录。
 
(3)pd.concat([h1,h2],axis=0,join='outer')
按照行作为标准进行外连接,可以列重叠

比如,把篮球改为英语,结果变为:

(4) df3 = pd.concat([h1,h2],axis=1,join='outer')
按照列为标准外连接,行可以重叠

同样,把篮球改为英语,结果变为:
 语文 数学 英语 英语 舞蹈
韩梅梅  93.0  87.0  80.0   NaN   NaN
李雷   80.0  99.0  85.0   NaN   NaN
李华   85.0  95.0  97.0  93.0  87.0
王明   76.0  85.0  65.0  80.0  99.0
铁蛋   58.0  70.0  88.0  85.0  95.0
刘强    NaN   NaN   NaN  76.0  85.0
情况二:相同字段:
表一:
             语文     数学     英语
韩梅梅   93     87       80
李雷      80     0    85
李华      85    95    97
王明      76    85    65
铁蛋      58    70    88
表二:
    语文    数学      英语
戴小帅   93    87    80
张三      80    99     0
李四      85    95    97
王明      76    85    65
王小红  58    70    88
(1)df4 = pd.concat([h1,h2],axis=1,join='outer')
   
 语文 数学 英语 语文 数学 英语
韩梅梅  93.0  87.0  80.0   NaN   NaN   NaN
李雷   80.0   0.0  85.0   NaN   NaN   NaN
李华   85.0  95.0  97.0   NaN   NaN   NaN
王明   76.0  85.0  65.0  76.0  85.0  65.0
铁蛋   58.0  70.0  88.0   NaN   NaN   NaN
戴小帅   NaN   NaN   NaN  93.0  87.0  80.0
张三    NaN   NaN   NaN  80.0  99.0   0.0
李四    NaN   NaN   NaN  85.0  95.0  97.0
王小红   NaN   NaN   NaN  58.0  70.0  88.0
(2)df3 = pd.concat([h1,h2],axis=0,join='outer')

 语文 数学 英语
韩梅梅  93  87  80
李雷   80   0  85
李华   85  95  97
王明   76  85  65
铁蛋   58  70  88
戴小帅  93  87  80
张三   80  99   0
李四   85  95  97
王明   76  85  65
王小红  58  70  88
(3)df2 = pd.concat([h1,h2],axis=1,join='inner')

语文 数学 英语 语文 数学 英语
王明  76  85  65  76  85  65
(4)df1 = pd.concat([h1,h2],axis=0,join='inner')

          语文 数学 英语
韩梅梅  93  87  80
李雷   80   0  85
李华   85  95  97
王明   76  85  65
铁蛋   58  70  88
戴小帅  93  87  80
张三   80  99   0
李四   85  95  97
王明   76  85  65
王小红  58  70  88
参考:
https://blog.csdn.net/gdkyxy2013/article/details/80785361
https://blog.csdn.net/L573459885/article/details/105240857
                    
                
                
            
        
浙公网安备 33010602011771号