您的位置:首页 > 编程语言 > Python开发

利用 Python 进行数据分析(十二)pandas:数据合并

2017-04-15 17:36 906 查看
pandas 提供了三种主要方法可以对数据进行合并: 北京联盟 http://www.010lm.com/ pandas.merge方法:数据库风格的合并;
pandas.concat方法:轴向连接,即沿着一条轴将多个对象堆叠到一起;
实例方法combine_first方法:合并重叠数据。

pandas.merge方法:数据库风格的合并北京联盟 http://www.010lm.com/
例如,通过merge方法将两个DataFrame合并: 北京联盟 http://www.010lm.com/


on='name'的意思是将name列当作键; 北京联盟 http://www.010lm.com/
默认情况下,merge做的是内连接(inner),即键的交集。 北京联盟 http://www.010lm.com/
其他方式还有左连接(left),右连接(right)和外连接(outer)。例如将刚刚的合并指定为左连接: 北京联盟 http://www.010lm.com/


再试试外连接,结果取键的并集: 北京联盟 http://www.010lm.com/


刚刚的三个合并都是以列名作为连接键,DataFrame还有一个join方法可以以索引作为连接键 北京联盟 http://www.010lm.com/
例如: 北京联盟 http://www.010lm.com/


pandas.concat方法:轴向连接,即沿着一条轴将多个对象堆叠到一起北京联盟 http://www.010lm.com/北京联盟 http://www.010lm.com/

例如: 北京联盟 http://www.010lm.com/


默认情况下,concat在竖轴(axis=0)上连接,即产生一个新的Series。如果想要在横轴方向连接,则传入axis=1,例如:北京联盟 http://www.010lm.com/


实例方法combine_first方法:合并重叠数据北京联盟 http://www.010lm.com/北京联盟 http://www.010lm.com/

例如: 北京联盟 http://www.010lm.com/


这个方法等价与: 北京联盟 http://www.010lm.com/


它做的是一个矢量化的if-else操作,如果s1里某个位置上的数据为空,则用s2同位置上的元素来补,你可以理解为“打补丁”操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: