前言
数据探索过程中,我们经常会遇到这样的场景。多个数据源情况下,需要将不同数据源的数据合并在一起,然后进一步进行数据处理与分析,或者进行机器学习亦或是深度学习。小编在本文中,主要介绍如何通过python 进行数据的合并。
使用python 进行数据集合并工作时,有三种连接方式,我们在这里先回顾一下:外连接(how='outer'):求取的是键的并集,组合了左连接和右连接的效果。
左连接(how=’left’):指定左键,会以左边为主。左边展示全部,右边只展示与左边公共部分;若左边有,右边没有,则右边为NAN。左边没有,右边有,则不展示。
内连接(how=’inner’):内连接取的是两个数据集的交集。
默认情况下,merge做的是“inner”连接;结果中的键是交集。其他方式还有“left”、“right”以及“outer”。外连接求取的是键的并集,组合了左连接和右连接的效果。
操作的步骤
首先,我们先引入pandas包,将其命名为pd;
其次,从pandas包中,引入Series和DataFrame两种数据结构。
第三,创建两个数据集,分别为left和right。
第四,使用pd.merge()进行数据集合并。
具体代码内容如下所示:
In [1]: import pandas as pd
In [2]: from pandas import Series,DataFrame
In [3]: left=DataFrame({'key1':['foo','foo','bar'],'key2':['one','two','one'],'1val':[1,2,3]})
In [4]: right=DataFrame({'key1':['foo','foo','bar','bar'],'key2':['one','two','one','two'],'1val':[4,5,6,7]})
In [5]: pd.merge(left,right,on=['key1','key2'],how='outer')
Out[5]:
key1 key2 1val_x 1val_y
0 foo one 1.0 4
1 foo two 2.0 5
2 bar one 3.0 6
3 bar two NaN 7
从运行的结果中可见,使用pd.merge()合并了left和right两个数据集,通过on参数指定“key1”和“key2"两个键,采用外连接(how='outer')的方式。小编此处介绍的是其中一种的数据集合并的场景,其他方式将持续进行分享,欢迎关注!