干货|一文搞定pandas中数据合并

共 1433字,需浏览 3分钟

 ·

2020-11-19 11:49

一文搞定pandas的数据合并

在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能
pandas中也提供了几种方法来实现这个功能,表现最突出、使用最为广泛的方法是merge。本文中将下面?四种方法及参数通过实际案例来进行具体讲解
  • merge

  • append

  • join

  • concat

为方便大家练习,文末提供了本文数据源代码的获取方式。

文章目录

导入库

做数据分析的时候这两个库是必须导入的,国际惯例一般。
  1. import pandas as pd

  2. import numpy as np

—  01 

merge

官方参数

官方提供的 merge函数的参数如下:
下面将通过案例讲解几个重要参数的使用方法:
  1. DataFrame.merge(left, right,

  2. how='inner', # {‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘inner’

  3. on=None,

  4. left_on=None, right_on=None,

  5. sort=False,

  6. suffixes=('_x', '_y'))

模拟数据

注意4组数据的不同

使用默认参数

两种不同的写法,效果相同

参数how

how参数的取值有4种:
  • inner(默认)

  • outer

  • right

  • left

参数on

用于连接的列索引列名,必须同时存在于左右的两个dataframe型数据中,类似SQL中两个表的相同字段属性
如果没有指定或者其他参数也没有指定,则以两个dataframe型数据的相同键作为连接键

on参数为单个字段

另一个例子:

on参数为多个字段-列表形式

参数lefton/righton

参数suffixes

合并的时候一列两个表同名,但是取值不同,如果都想要保存下来,就使用加后缀的方法,默认是 _x,_y,可以自己指定

参数sort

对连接的时候相同键的取值进行排序

—  02 

concat

官方参数

concat方法是将两个 DataFrame数据框中的数据进行合并
  • 通过axis参数指定是在行还是列方向上合并

  • 参数 ignore_index实现合并后的索引重排

生成数据

指定合并轴

改变索引

join参数

sort-属性排序

—  03 

append

官方参数

基本使用

  1. data3.append(data4) # 等同于pd.append([data3, data4]) 忽略pandas版本的警告

改变索引-自然数排序

  1. data3.append(data4, ignore_index=True) # 设置参数

sort=True-属性的排序

  1. data3.append(data4) # 默认对字段属性排序

—  04 

join

官方参数

通过相同索引合并

相同字段属性指后缀

相同字段变成索引index

相同字段保留一次

为方便大家练习,可以按照如下方式获取本文使用的源代码
1、长按扫码关注「Python数据之道」
2、后台回复  “20200917” 

浏览 73
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报