dataframe 横向拼接_多表拼接实现1000万条数据记录汇总

本文梳理了利用Python进行多表拼接的常用方法,并通过多表拼接实现接近1000万条数据记录汇总。

1. 表的横向拼接

表的横向拼接就是在横向将两个表依据公共列批接在一起,在Python中实现横向拼接利用的是merge()方法。

1.1 连接表的类型

连接表的类型关注的就是待连接的两个表都是什么类型,主要有3种情况:一对一、多对一、多对多。

  • 一对一

一对一就是待连接的两个表的公共列是一对一的。

1aa3742d1d3b9d277da36710cb555ba8.png

数据表1

15a24050e85f930ff90eac3589c54b9c.png

数据表2

可以使用pd.merge()方法将表1和表2进行拼接,该方法会自动寻找两个表中的公共列,并将找到的公共列作为连接列。

import pandas as pddf = pd.DataFrame()#读取两个数据表df1 = pd.DataFrame(pd.read_excel("df1.xlsx"))df2 = pd.DataFrame(pd.read_excel("df2.xlsx"))#合并两个数据表df = pd.merge(df1,df2)#将合并的数据表保存到excelwriter = pd.ExcelWriter('df.xlsx', engine='xlsxwriter')df.to_excel(writer, 'Sheet1',index=0)writer.save()
3bcd5963a151893733094cddfc89175e.png

合并后的数据表

  • 多对一

多对一就是待连接的两个表的公共列不是一对一的,其中一个表的公共列有重复值,另一个表的公共列是唯一的。

1bef1b654d84c65a7444de43374637a4.png

数据表1

523f4a8e87818557a48b93dbfb4a3408.png

数据表2

如上表所示,df1中的学号是唯一的,但是df2中的学号不是唯一的,因此拼接结果就是保留df2中的重复值,且在df1中也增加重复值,代码如下所示。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值