pandas合并操作

merge

通过键(这里的键是dataframe的某一列)拼接列,应用场景:针对同一主键存在两张包含不同字段的表,如果想把这两张表整合成一张表,就可以使用merge。merge结果的行数并没有

pd.merge(left, right, how="inner", on=None, suffixes=("_x", "_y"))
参数how:
- inner: 按照拼接键匹配,取交集
- outer: 按照拼接键匹配,取并集
- left: 拼接键与左df完全一样,从右df中寻找与左df相匹配的行
- right: 拼接键与右df完全一样,从左df中寻找与右df相匹配的行
- cross: 交叉连接,返回笛卡尔积
注:无论采用哪种方式,merge函数第一个参数的列始终在最前面

是pd的方法,即pd.merge, 每次只能合并两个df

join

同样是拼接列,但是默认将索引作为键。参数on用来指定左df的列名,若指定后,用该列名与右df的索引进行拼接。

df1.join([df2,...], on=None, how='left', lsuffix=“”, rsuffix=“”, sort=False)

属于df的方法,lsuffix和rsuffix用于当df1和df2存在同名的列时,用于区分。

concat

pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
           keys=None, levels=None, names=None, verify_integrity=False,
           copy=True)
join参数表示多个df按索引拼接的方式

属于pd的方法,可以用来合并多个df, 将ignore_index设为True进行索引重排。

append

df1.append(df2, ignore_index=False, verify_integrity=False)

属于df的方法,有点类似pd.concat([df1, df2], axis=0)
用的较少,相当于pd.concat的简版,只能在行方向进行拼接

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值