07 pandas数据结构之Merge

语法

data3=pd.merge(data1(left),data2(right),on=‘连接基准’,how=‘连接方式’)

data3=pd.merge(data1(left),data2(right,on=[‘连接基准1’,‘连接基准2’],how=‘连接方式’)

在这里插入图片描述

内连接(取交集,默认属性)

import pandas as pd
import numpy as np
data1=pd.DataFrame({'姓名':['叶问','李小龙','李连杰'],'出手次数1':np.arange(3)})
data2=pd.DataFrame({'姓名':['关于','李连杰','赵云','黄忠','李小龙'],'出手次数2':[1,2,3,4,5]})
print(data1)
print('*'*30)
print(data2)
print('-'*30)
data3=pd.merge(data1,data2,on='姓名',how='inner')#用姓名来连接 链接方式为内连接
print(data3)

在这里插入图片描述

左连接(以左边的表为标准来连接,第一个表)

import pandas as pd
import numpy as np
data1=pd.DataFrame({'姓名':['叶问','李小龙','李连杰'],'出手次数1':np.arange(3)})
data2=pd.DataFrame({'姓名':['关于','李连杰','赵云','黄忠','李小龙'],'出手次数2':[1,2,3,4,5]})
print(data1)
print('*'*30)
print(data2)
print('-'*30)
data3=pd.merge(data1,data2,on='姓名',how='left')#用姓名来连接 链接方式为内连接
print(data3)

在这里插入图片描述

右连接(以右边的表为标准)

import pandas as pd
import numpy as np
data1=pd.DataFrame({'姓名':['叶问','李小龙','李连杰'],'出手次数1':np.arange(3)})
data2=pd.DataFrame({'姓名':['关于','李连杰','赵云','黄忠','李小龙'],'出手次数2':[1,2,3,4,5]})
print(data1)
print('*'*30)
print(data2)
print('-'*30)
data3=pd.merge(data1,data2,on='姓名',how='right')#用姓名来连接 链接方式为内连接
print(data3)

在这里插入图片描述

外连接(将两张表粘合在一起)

import pandas as pd
import numpy as np
data1=pd.DataFrame({'姓名':['叶问','李小龙','李连杰'],'出手次数1':np.arange(3)})
data2=pd.DataFrame({'姓名':['关于','李连杰','赵云','黄忠','李小龙'],'出手次数2':[1,2,3,4,5]})
print(data1)
print('*'*30)
print(data2)
print('-'*30)
data3=pd.merge(data1,data2,on='姓名',how='outer')#用姓名来连接 链接方式为内连接
print(data3)

在这里插入图片描述

特殊情况

import pandas as pd
data1 = pd.DataFrame({'姓名':['张三','李四','王五','张三','李四'],'次数':range(5)})
data2 = pd.DataFrame({ '数据': [10,20]},index=['张三','李四'])
print(data1)
print('*'*30)
print(data2)
print('-'*30)
data3=pd.merge(data1,data2,left_on='姓名',right_index=True)#使用左表的姓名,右表的索引列
print(data3)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值