数据分析之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取交集

 

posted @ 2019-03-07 19:09  神神气气  阅读(130)  评论(0编辑  收藏  举报