【魏先生搞定Python系列】Pandas使用奇淫巧技(2)——如何进行两个表的合并

两个或多个数据表合并,是数据处理时常见的操作。在pandas中,常用的方法有append、concat等,对于这两个方法的说明,我感觉读下面的文章足矣:

https://www.jianshu.com/p/29f5c6792f61

在这里,我对上面文章和自己的理解做个总结和批注。

要点1:pandas的columns 和 index没有要求必须必须唯一,只有索引key是必须唯一的。因此在数据合并的时候,如果按照默认设置,新生成表的index和columns很有可能是重复值。

要点2:对于行方向的合并,最常见的是两个结构相同的表,数据需要进行归并,即将两个表格的记录合并成一个表,此时用append就可以实现,而且append主要就是为了实现该功能。相比而言,concat也是可以实现的,当然它还可以实现列上的合并。

要点3:对于concat以及append,可以使用ignore_index参数来忽略原索引,在合并数据后按照顺序重新index

这里简单示例如下:

#首先从excel文件中读取数据,分别写入df1和df2
df1 = pd.read_excel('test_a.xlsx',index_col = 0)
print(df1)
df2 = pd.read_excel('test_b.xlsx',index_col = 0)
print(df2)

#使用concat来合并,首先将需要合并的数据放到一个list里
frames = [df1,df2]
#先实现行的合并
result1 = pd.concat(frames,ignore_index=True)
print(result1)
#再试试实现列方向的合并
result2 = pd.concat(frames,axis=1)
print(result2)
#最后使用append实现在行上的合并
result3 = df1.append(df2,ignore_index=True)
print(result3)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值