Python中pd.concat与pd.merge怎么使用(pd.merge,python,开发技术)

时间:2024-04-30 03:48:51 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

数据拼接:pd.concat

concat 是pandas级的函数,用来拼接或合并数据,其根据不同的轴既可以横向拼接,又可以纵向拼接

函数参数

pd.concat(objs:'Iterable[NDFrame]|Mapping[Hashable,NDFrame]',axis=0,join='outer',ignore_index:'bool'=False,keys=None,levels=None,names=None,verify_integrity:'bool'=False,sort:'bool'=False,copy:'bool'=True,)->'FrameOrSeriesUnion'
  • objs:合并的数据集,一般用列表传入,例如:[df1,df2,df3]

  • axis:指定数据拼接时的轴,0是行,在行方向上拼接;1是列,在列方向上拼接

  • join:拼接的方式有 inner,或者outer,与sql中的意思一样

以上三个参数在实际工作中经常使用,其他参数不再做介绍

案例:

Python中pd.concat与pd.merge怎么使用

模拟数据

横向拼接

Python中pd.concat与pd.merge怎么使用

横向拼接-1

字段相同的列进行堆叠,字段不同的列分列存放,缺失值用NAN来填充,下面对模拟数据进行变换用相同的字段,进行演示

Python中pd.concat与pd.merge怎么使用

横向拼接-2

纵向拼接

Python中pd.concat与pd.merge怎么使用

纵向拼接

可以看出在纵向拼接的时候,会按索引进行关联,使相同名字的成绩放在一起,而不是简单的堆叠

数据关联:pd.merge

数据关联与SQL中的join基本一样,一次可以关联两个数据表,有左表、右表的区分,需要可以指定关联的字段

函数参数

pd.merge(left:'DataFrame|Series',right:'DataFrame|Series',how:'str'='inner',on:'IndexLabel|None'=None,left_on:'IndexLabel|None'=None,right_on:'IndexLabel|None'=None,left_index:'bool'=False,right_index:'bool'=False,sort:'bool'=False,suffixes:'Suffixes'=('_x','_y'),copy:'bool'=True,indicator:'bool'=False,validate:'str|None'=None,)->'DataFrame'
  • left:左表

  • right:右表

  • how:关联的方式,{‘left’, ‘right’, ‘outer’, ‘inner’, ‘cross’}, 默认关联方式为 ‘inner’

  • on:关联时指定的字段,两个表共有的

  • left_on:关联时用到左表中的字段,在两个表不共有关联字段时使用

  • right_on:关联时用到右表中的字段,在两个表不共有关联字段时使用

以上参数在实际工作中经常使用,其他参数不再做介绍

案例:

Python中pd.concat与pd.merge怎么使用

数据关联

merge 的使用与SQL中的 join 很像,使用方式基本一致,既有内连接,也有外连接,用起来基本没有什么难度

两者区别

  • concat 只是 pandas 下的方法,而 merge 即是 pandas 下的方法,又是DataFrame 下的方法

  • concat 可以横向、纵向拼接,又起到关联的作用

  • merge 只能进行关联,也就是纵向拼接

  • concat 可以同时处理多个数据框DataFrame,而 merge 只能同时处理 2 个数据框

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Python中pd.concat与pd.merge怎么使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:C#如何实现读写CSV文件下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18