数据分析之pandas(二)
一、使用pd.merge()进行合并
merge与concat的区别在于,merge需要依据某一共同的列来进行合并
使用pd.merge()合并时,会自动根据两者相同column名称的那一列,作为key来进行合并。
注意每一列元素的顺序不要求一致
1、一对一合并(没有相同的列)
1 import pandas as pd 2 from pandas import Series,DataFrame 3 import numpy as np
1 df1 = DataFrame({'employee':['Bob','Jake','Lisa'], 2 'group':['Accounting','Engineering','Engineering'], 3 }) 4 5 6 df2 = DataFrame({'employee':['Lisa','Bob','Jake'], 7 'hire_date':[2004,2008,2012], 8 })
pd.merge(df1,df2,how='outer')
2、多对一合并
合并之后
3、多对多合并
4、key的规范化
- 当列冲突时,即有多个列名称相同时,需要使用on=来指定哪一个列作为key,配合suffixes指定冲突列名
- 当两张表没有可进行连接的列时,可使用left_on和right_on手动指定merge中左右两边的哪一列列作为连接的列
5、内合并与外合并
内合并与外合并:out取并集 inner取交集