dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第1张图片

Pandas可以实现高性能的内存合并和连接。当我们需要组合非常大的DataFrame时,Merge是非常有效并且快速的方法。Merge只能在两个DataFrame上进行联接,分别表示为左表(left)和右表(right)。key是将两个DataFrame连接在一起的公共列。最好使用在整个列中具有唯一值的key,以避免意外的行值重复。

Pandas提供了merge(),作为DataFrame之间join的实现。

有四种处理Join的基本方法(内部inner,左侧left,右侧right和外部outer),具体取决于需要必须保留哪些数据。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第2张图片

代码1:使用一个唯一的组合key合并一个Datafame

 import pandas as pd  # 人员信息dictdata1 = {'Name':['A1', 'B1', 'C1', 'D1'],  'Age':[27, 24, 22, 32],  'Address':['北京', '上海', '天津', '杭州'],  'Sex':['F', 'M', 'M', 'F']}  # 人员信息dictdata2 = {'Name':['A2', 'B2', 'C2', 'D2'],  'Age':[17, 14, 12, 52],  'Address':['上海', '上海', '天津', '南京'],  'Sex':['M', 'M', 'F', 'F']}  # 构造Dataframedf = pd.DataFrame(data1,index=[0, 1, 2, 3])# 构造Dataframedf1 = pd.DataFrame(data2, index=[4, 5, 6, 7])print(df)print(df1) 

输出

 Address Age Name Sex0 北京 27 A1 F1 上海 24 B1 M2 天津 22 C1 M3 杭州 32 D1 F Address Age Name Sex4 上海 17 A2 M5 上海 14 B2 M6 天津 12 C2 F7 南京 52 D2 F

现在,我们使用一个key的组合键

# using .merge() functionres = pd.merge(df, df1, on='key')print(res) 

输出:

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第3张图片

代码2:使用多个键merge两个Dataframe。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第4张图片

使用"how"关键字合并Dataframe

使用"how"参数来指定如何包含哪些key。如果左表或右表中都没有key的组合,则被Join的表中的值为NA。以下是各种选项的说明:

  • left: 只保留左边Dataframe的数据
  • right: 只保留右边Dataframe的数据
  • outer: 保留两个Dataframe的数据
  • inner: 只保留两个Dataframe公共的部分

现在我们设置how = 'left',仅使用左面Dataframe中的key。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第5张图片

现在我们设置how = 'right',仅使用右面Dataframe中的key。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第6张图片

现在我们设置how = 'outer',保留两个表的信息。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第7张图片

现在我们进行设置how = 'innter',得到两个表的交集。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第8张图片

使用sort参数对返回数据集排序

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第9张图片

使用suffixes参数定义前缀,区分两个Dataframe中相同的列

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介绍_第10张图片

总结:

Pandas的merge的方法就介绍到这里,下节我们介绍透视表(pivotTab)和交叉表(crossTab)

你可能感兴趣的:(dataframe,合并,dataframe,排序,dataframe合并,dataframe排序,left,join,on用法,pandas,dataframe)