pandas_多表拼接

文章目录

  • pandas 多表拼接
    • 1.表的横向拼接
      • 1.1 连接表的类型
      • 1.2 连接键的类型
      • 1.3 连接方式
      • 1.4 重复列名处理
    • 2.表的纵向拼接
      • 2.1 普通合并
      • 2.2 索引设置
      • 2.3 重叠数据合并

pandas 多表拼接

1.表的横向拼接

表的横向拼接就是在横向将两个表依据公共列拼接在一起。

1.1 连接表的类型

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

  • 一对一:一对一就是待连接的两个表的公共列是一对一的
  • 多对多:待连接的两个表的公共列不是一对一的,且两个表中的公共列都有重复值,多对多连接相当于多个多对一连接
print(pd.merge(df1,df2))

pd.merge() 方法即可,该方法会自动寻找两个表中的公共列,并将找到的公共列作为连接列。

  • 多对一:待连接的两个表的公共列不是一对一的,其中一个表的公共列有重复值,另一个表的公共列是唯一的。
print(pd.merge(df1,df2,on = "学号"))

1.2 连接键的类型

默认以公共列作为连接键:如果事先没有指定要按哪个列进行拼接时,pd.merge()方法会默认寻找两个表中的公共列,然后以这个公共列作为连接键进行连接(示例见图1-1,1-2)

用on来指定连接键:也可以用参数on来指定连接键,参数on一般指定的也是两个表中的公共列,其实这个时候和使用默认公共列达到的效果是一样的(示例见图1-3)

公共列可以有多列,也就是连接键可以有多个:


print(df1)
print(df2)
print(pd.merge(df1,df2,on = ["姓名","学号"]

你可能感兴趣的:(Python,python,pandas)