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

猜你喜欢

转载自www.cnblogs.com/liaopeng123/p/10491645.html