EduCoder Pandas合并数据集 第二关:合并与连接


任务描述

本关任务:使用pandas中的merge()函数按照编程要求合并三份数据。

相关知识

merge()可根据一个或者多个键将不同的DataFrame连接在一起,类似于SQL数据库中的合并操作。

参数名 说明
left 拼接左侧DataFrame对象
right 拼接右侧DataFrame对象
on 列(名称)连接,必须在左和右DataFrame对象中存在(找到)。
left_on 左侧DataFrame中的列或索引级别用作键,可以是列名、索引级名,也可以是长度等于DataFrame长度的数组。
right_on 右侧DataFrame中的列或索引级别用作键。可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。
left_index 如果为True,则使用左侧DataFrame中的索引(行标签)作为其连接键。
right_index 与left_index相似
how 它可以等于’left’, ‘right’, ‘outer’, ‘inner’. 默认inner。inner是取交集,outer取并集。
sort sort - 按照字典顺序通过连接键对结果DataFrame进行排序。
suffixes 用于追加到重叠列名的末尾。例如,左右两个DataFrame都有‘data’列,则结果中就会出现‘data_x’和‘data_y’.
copy 默认总是复制
数据连接的类型
  • 一对一的连接:
df1 = pd.DataFrame({
    'employee': ['Bob', 'Jake', 'Lisa', 'Sue'], >'group': ['Accounting', 'Engineering', 'Engineering', 'HR']})
df2 = pd.DataFrame({
    'employee': ['Lisa', 'Bob', 'Jake', 'Sue'], >'hire_date': [2004, 2008, 2012, 2014]})
df3 = pd.merge(df1,df2)
df3

输出:
在这里插入图片描述

  • 多对一的连接:
df4 = pd.DataFrame({'group': ['Accounting', 'Engineering', >'HR'], 'supervisor': ['Carly', 'Guido', 'Steve']})
pd.merge(df3,df4) 

输出:
在这里插入图片描述

  • 多对多连接:
df5 = pd.DataFrame({
    'group': ['Accounting', 'Accounting', >'Engineering', 'Engineering', 'HR', 'HR'], 'skills': [
  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值