天天看點

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

Pandas可以實作高性能的記憶體合并和連接配接。當我們需要組合非常大的DataFrame時,Merge是非常有效并且快速的方法。Merge隻能在兩個DataFrame上進行聯接,分别表示為左表(left)和右表(right)。key是将兩個DataFrame連接配接在一起的公共列。最好使用在整個列中具有唯一值的key,以避免意外的行值重複。

Pandas提供了merge(),作為DataFrame之間join的實作。

有四種處理Join的基本方法(内部inner,左側left,右側right和外部outer),具體取決于需要必須保留哪些資料。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

代碼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的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

代碼2:使用多個鍵merge兩個Dataframe。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

使用"how"關鍵字合并Dataframe

使用"how"參數來指定如何包含哪些key。如果左表或右表中都沒有key的組合,則被Join的表中的值為NA。以下是各種選項的說明:

  • left: 隻保留左邊Dataframe的資料
  • right: 隻保留右邊Dataframe的資料
  • outer: 保留兩個Dataframe的資料
  • inner: 隻保留兩個Dataframe公共的部分

現在我們設定how = 'left',僅使用左面Dataframe中的key。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

現在我們設定how = 'right',僅使用右面Dataframe中的key。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

現在我們設定how = 'outer',保留兩個表的資訊。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

現在我們進行設定how = 'innter',得到兩個表的交集。

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

使用sort參數對傳回資料集排序

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

使用suffixes參數定義字首,區分兩個Dataframe中相同的列

dataframe 合并_Python之Pandas使用系列(四):Dataframe中merge的用法介紹代碼1:使用一個唯一的組合key合并一個Datafame代碼2:使用多個鍵merge兩個Dataframe。使用"how"關鍵字合并Dataframe使用sort參數對傳回資料集排序使用suffixes參數定義字首,區分兩個Dataframe中相同的列總結:

總結:

Pandas的merge的方法就介紹到這裡,下節我們介紹透視表(pivotTab)和交叉表(crossTab)

繼續閱讀