温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

pandas如何实现数据合并

发布时间:2021-08-18 14:41:57 来源:亿速云 阅读:161 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关pandas如何实现数据合并的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

数据合并有多种方式,其中最常见的应该就是交集和并集的求取。之前通过分析总结过pandas数据merge功能默认的行为,其实默认下求取的就是两个数据的“交集”。

有如下数据定义:

In [26]: df1 Out[26]:   data1 key 0  0 b 1  1 b 2  2 a 3  3 c 4  4 a 5  5 a 6  6 b
In [27]: df2 Out[27]:   data2 key 0  0 a 1  1 b 2  2 d 3  3 b

进行merge的结果:

In [28]: pd.merge(df1,df2) Out[28]:   data1 key data2 0  0 b  1 1  0 b  3 2  1 b  1 3  1 b  3 4  6 b  1 5  6 b  3 6  2 a  0 7  4 a  0 8  5 a  0

从上面的结果中能够看出,merge的默认处理行为是求取了两组数据key的交集,但是对于key的值进行了并集的求取。其实也很好理解,如果仅仅是求取交集而数据没有任何合并那就不叫做数据合并了。

接下来试一下制定了参数的的交集数据合并处理:

In [29]: pd.merge(df1,df2,how='inner') Out[29]:   data1 key data2 0  0 b  1 1  0 b  3 2  1 b  1 3  1 b  3 4  6 b  1 5  6 b  3 6  2 a  0 7  4 a  0 8  5 a  0
In [30]: result_inner = pd.merge(df1,df2,how='inner') In [31]: result_default = pd.merge(df1,df2)
In [32]: result_inner == result_default Out[32]:   data1 key data2 0 True True True 1 True True True 2 True True True 3 True True True 4 True True True 5 True True True 6 True True True 7 True True True 8 True True True

通过上面的结果可以看出:制定了参数的的交集数据合并处理的结果与数据合并方法merge的默认行为是一致的。

再试一下并集数据合并处理方法,这需要制定参数how为outer:

In [35]: result_outer = pd.merge(df1,df2,how='outer')
In [36]: result_outer Out[36]:   data1 key data2 0  0.0 b 1.0 1  0.0 b 3.0 2  1.0 b 1.0 3  1.0 b 3.0 4  6.0 b 1.0 5  6.0 b 3.0 6  2.0 a 0.0 7  4.0 a 0.0 8  5.0 a 0.0 9  3.0 c NaN 10 NaN d 2.0

通过上面的执行结果可以看出:合并后的数据中的key拥有了两组数据所有的key,而数据虽然有一部分两组数据不能够重合,但也通过NaN的值进行了相应的填补。

还有一点需要注意的,那就是合并之后的数据个数。合并后的数据中,key的个数是两组数据中分别拥有的数据的笛卡尔乘积。如果其中一组没有的时候,进行合并的时候另一组数据中会创建一个NaN数值的对象与之进行合并。

感谢各位的阅读!关于“pandas如何实现数据合并”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI