【Python】merge:数据规整化:清理、转换、合并、重塑

merge:数据规整化:清理、转换、合并、重塑

目录:

  • 数据分析和建模方面的大量编程工作都是用在数据准备上的:加载、清理、转换以及重塑。pandas和python标准库提供了一组高级的、灵活的、高效的核心函数和算法。

一 合并数据集

  • pandas.merge可根据一个或多个键将不同DataFrame中的行连接起来。SQL或其他关系型数据库对此思维应用比较常见。
  • pandas.concat可以沿着一条轴将多个对象堆叠在一起。
  • 实例方法combine_first可以将重复数据编接在一起,用一个对象中的值填充另一个对象中的缺失值。
1 数据库风格的DataFrame合并
  • 数据集的合并(merge)或连接(join)运算是通过一个或多个键将行链接起来的。这些运算是关系型数据的核心。pandas的merge函数是对数据应用这些算法的主要切入点。
pd.merge(df1,df2,on = 'key') 
pd.merge(df1,df2)   #如果没有指定,merge会将重叠列的列名当做键,最好显示指定一下。
pd.merge(df1,df2,left_on = 'key1',right_on = 'key2'  # 如果两个对象的列名不同,可以分别进行指定
  • 默认情况下,merge做的是“inner”连接,结果中的键是交集。其他方式还有“left”、“right”、“outer”。外连接求取的是键的并集,组合了左连接和右连接的效果。
  • 多对多的合并操作非常简单,无需额外的操作。多对多的连接产生 的是行的笛卡尔积,左边b行,右边a行,结果中就有a*b行。连接方式只影响出现在结果中的键。
  • 要根据多个键进行合并,传入一个由列名组成的列表即可。结果中会出现哪些键的组合取决于所选的合并方式,也可以这样理解:多个键形成一系列元组,并将其当作单个连接键(实际上并不是这么回事)
  • 合并运算需要考虑的最后一个问题是对重复列名的处理。虽然可以手动更改,但是merge有一个更实用的suffixes选项,用于指定附加到左右两个DataFrame对象的重叠列名上的字符串。
pd.merge(left,right,on = 'key'
pd.merge(left,right,on = 'key1',suffixes = ('_left','_right'))
  • merge函数的参数:
    • ① left # 用于合并的左侧DataFrame
    • ② right # 用于合并的右侧DataFrame
    • ③ how # “inner”、“outer”、“left”、‘“right”其中之一,默认为“inner”
    • ④ on # 用于连接的列名
    • ⑤ left_on、tight_on # 左右侧DataFrame分别指定键
    • ⑥ left_index、right_index # 左右侧将索引用作连接键
    • ⑦ sort# 合并后进行排序,默认为True
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值