pandas数据连接合并

 

一、concat(), append()默认用来纵向连接DataFrame对象

1)df1和df2相同列合并

 

 

   df1.append(df2) 等价于 pd.concat([df1,df2]  相当于sql中的union all 

  图中可以看出合并后出现了重复行,可以使用df.drop_duplicates() 删除重复行

print(df1.append(df2).drop_duplicates()) 执行后输出结果:

 

另外我们可以看到合并之后的数据行索引还是以前df的索引值,要想使新生成的df索引从0开始,可以添加: ignore_index=True

print(df1.append(df2,ignore_index=True)) 或者  print(pd.concat([df1,df2],ignore_index=True))

运行结果如下

 2)df1和df2不同列合并

df1.append(df2) 同样等价于pd.concat([df1,df2])

 

 

 可以看到上图中,不同列时数据合并,使用了NaN进行缺失值填充

 

 二、merge()的默认操作是横向连接两个DataFrame对象

 

参考我以前的 https://www.cnblogs.com/kopao/p/13527710.html

 

另详解append,concat,merge可参考 :https://zhuanlan.zhihu.com/p/70438557?from_voters_page=true

 

posted @ 2020-11-18 14:30  楔子  阅读(369)  评论(0)    收藏  举报