pandas数据合并

使用contact,append,merge完成数据集合并
自己学习用,欢迎大佬指正。

1.concat

pd.concat()可以合并series和DataFrame对象,默认情况为逐行合并,且保留索引

1.1使用concat简单合并两个df
pd.concat([df1,df2])#纵向合并
pd.concat([df1,df2],axis=1)#横向合并
1.2考虑索引的合并:ignore_index

由于concat在合并是会保留索引,即使索引重复

ser1 = pd.Series(['A', 'B', 'C'], index=[1, 2, 3])
ser2 = pd.Series(['D', 'E', 'F'], index=[1, 2, 3])
pd.concat([ser1,ser2])

结果为:

如果使用:

pd.concat([ser1,ser2],ignore_index=True)

结果为:

1.3 dataframe横向简单合并

有时候我们想要简单地合并两张具有同样行数的表格,不想管索引和顺序,但是由于concat合并时会保留索引,所以合并时出现不想要的NAN值。这里有一个暴力的方法:

df2.index=df1.index ##重置表格2的索引
pd.concat([df1,df2],axis=1)
1.4 join的方法合并

可以使用join的方法来进行两个数据集的交集或者并集合并,join=‘outer’(并集),join=‘inner’(交集)

df1=pd.DataFrame({"A":[1,2,3],"B":[2,3,4],"C":[3,4,5]})
df2=pd.DataFrame({"B":[2,3,4],"C":[3,4,5],"d":[3,4,6]})
>>
df1:            df2:
A B C           B C D
1 2 3           2 3 4
2 3 4           3 4 5
3 4 5           4 5 6

使用交集合并df1和df2

innerdf = pd.concat([df1,df2],join="inner")###可以看到A和D列已经没有了B C
0   2   3
1   3   4
2   4   5
0   2   3
1   3   4
2   4   5

使用并集合并df1和df2:

pd.concat([df1,df2],join="outer",axis=1)A    B   C   B   C   d
0   1   2   3   2   3   3
1   2   3   4   3   4   4
2   3   4   5   4   5   6

2.append

df1.appende(df2)

3.merge

merge的方法类似于SQL语言中的merge,可以一对一链接,也能一对多链接,一对多链接时,会保留重复值。merge还会默认将输入的共同列作为键合并。

3.1用merge简单合并

基本的语法为: pd.merge(df1,df2)

df1=pd.DataFrame({"A":[1,1],"B":[1,3]})
df2=pd.DataFrame({"A":1,"C":2})
pd.merge(df1,df2)#将df2重复之后再合并
>>A   B   C
0   1   1   2
1   1   3   2

……未完

【python数据分析】pandas数据合并相关推荐

  1. Python数据分析—Pandas数据规整

    数据规整 一.索引 二.分层索引 三.数据合并 1.merge方法 2.join方法 3.concat方法 四.数据分组与聚合 一.索引 # 查看索引 df.index # 指定索引,但个数必须保持一 ...

  2. 【Python】图解Pandas数据合并:concat、join、append

    公众号:尤而小屋 作者:Peter 编辑:Peter 图解pandas数据合并:concat+join+append 在上一篇文章中介绍过pandas中最为常用的一个合并函数merge的使用,本文中介 ...

  3. Python数据分析pandas之数据拼接与连接

    Python数据分析pandas之数据拼接与连接 数据拼接处理 数据拼接处理指的是numpy.pandas里对数据的拼接.连接.合并等多种方法的概称.有时我们处理的数据会分很多步骤,而中间或者最终的结 ...

  4. PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 47784 pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYS

    PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 标签: 47784 编辑 删除 pandas作者Wes McKinney 在[PYTHON FOR DA ...

  5. Python数据分析——Pandas基础:dt.datetime与pivot_table()数据透视表

    系列文章目录 Chapter 1:创建与探索DF.排序.子集化:Python数据分析--Pandas基础入门+代码(一) Chapter 2:聚合函数,groupby,统计分析:Python数据分析- ...

  6. pandas数据合并:concat、join、append

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 图解pandas数据合并:concat+join+append 在上一篇文章中介绍过pandas中最为常用的一个合并函数 ...

  7. Python数据分析pandas之多层高维索引

    Python数据分析pandas之多层高维索引 DataFrame多层索引 多层索引简介 众所周知Pandas的Series和DataFrame存放的是一维和二维数组,那么想存放多维数组就得通过多层索 ...

  8. Python数据分析pandas之分组统计透视表

    Python数据分析pandas之分组统计透视表 数据聚合统计 Padans里的聚合统计即是应用分组的方法对数据框进行聚合统计,常见的有min(最小).max(最大).avg(平均值).sum(求和) ...

  9. Python数据分析pandas之dataframe初识

    Python数据分析pandas之dataframe初识 声明与简介 pandas是一个基于python的.快速的.高效.灵活.易用的开源的数据处理.分析包(工具)..pandas构建在numpy之上 ...

最新文章

  1. 归一化互相关Normalization cross correlation (NCC)
  2. 模拟窗口效果 Jquery
  3. 移动端开发——javascript
  4. linux删除文件操作
  5. 法拉克机器人自动怎么调_在使用钢网印刷SMT贴片红胶时全自动印刷机的参数怎么调?...
  6. Java内存泄漏的介绍
  7. 告别传统商务海报版式|绚丽色彩的你,感觉更具现代与活力
  8. linux更改root密码_如何在Linux中更改root密码
  9. html模板引擎 字符串长度,javascript轻量级模板引擎juicer使用指南
  10. pyqt5 加载gif_PyQt5:在Qmovi中重新加载gif
  11. esp32 esp8285 wf6000OTA升级小记
  12. 安国U盘量产后USB损坏恢复工具for win7
  13. 【译】雄迈摄像头爆出Mirai僵尸网络
  14. CSR8615蓝牙芯片功能调试入门笔记------ 下
  15. 【免费赠送】百度统计热力图邀请码十枚
  16. gin结合endless实现热更新
  17. Unity高质量场景打光参考资料
  18. MySQL 更新某个字段的值加1 是有前提条件的(非auto_increament)
  19. IOS 中视频和音乐合成
  20. 迷幻的find函数用法

热门文章

  1. appinventor飞机大战案例_第一个AppInventor 开发案例 Hello Kitty(下)
  2. android 神气插件 自动补全tabnine
  3. 关于面试总结2-SQL学生表
  4. 编译原理 SysY语言的词法分析程序
  5. 14 Babylonjs基础入门 环境搭建
  6. C++读取局域网内其他计算机共享文件夹的文件
  7. 移动开发的英文单词发音
  8. 什么是禅?《禅与计算机程序设计艺术》 / 陈光剑
  9. Java语言概述之标识符05
  10. 用Windows Performance Toolkit(WPT)分析Vista系统