数据清洗(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

 

posted @   萧六弟  阅读(259)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示