pandas中关于数据合并join,merge

pandas中数据的合并与sql语句类似。主要有函数merge,join等。

merge函数:数据合并,一般是基于通过列索引的数据合并。其有内连接,外连接,左连接,右连接。

 内连接:取两组数据的交集。

c=pd.DataFrame([[3,2,3],[2,3,4]],columns=list("abc"))
b=pd.DataFrame([[2,0,3],[3,2,4],[2,0,9],[0,7,8]],index=["a","b","c","d"],columns=list("abc"))
print(pd.merge(b,c,on="a",how="inner"))
调试:

a b_x c_x b_y c_y
0 2 0 3 3 4
1 2 0 9 3 4
2 3 2 4 2 3

左连接:以左边数据为准,在又测进行查找,找到则拼接,若无补nan

 

print(pd.merge(b,c,on="a",how="left"))
结果:
a b_x c_x b_y c_y 0
2 0 3 3.0 4.0 1 3 2 4 2.0 3.0 2 2 0 9 3.0 4.0 3 0 7 8 NaN NaN

外连接:取并集,进行拼接

 

 
  
print(pd.merge(b,c,on="a",how="left"))

a b_x c_x b_y c_y 0
2 0.0 3.0 NaN NaN 1 2 0.0 9.0 NaN NaN 2 3 2.0 4.0 2.0 3.0 3 0 7.0 8.0 NaN NaN 4 5 NaN NaN 3.0 4.0

 join函数:根据行索引进行数据合并,默认左连接。

c=pd.DataFrame([["a",4,3],[2,3,4]],columns=list("hkl"))
b=pd.DataFrame([[2,0,3],[3,2,4],[2,0,9],[0,7,8]],columns=list("abc"))
#merge按照列索引,合并数据

print(c.join(b))
结果:
  

  h k l a b c
0 a 4 3 2 0 3
1 2 3 4 3 2 4

 

转载于:https://www.cnblogs.com/xuehaiwuya0000/p/11585967.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值