在實際處理數據業務需求中,咱們常常會遇到這樣的需求:將多個錶鏈接起來再進行數據的處理和分析,相似SQL中的鏈接查詢功能。
pandas中也提供了幾種方法來實現這個功能,表現最突出、使用最爲普遍的方法是merge。本文中將下面四種方法及參數經過實際案例來進行具體講解。app
導入庫
作數據分析的時候這兩個庫是必須導入的,國際慣例通常。ide
import pandas as pd import numpy as np
官方參數
官方提供的 merge函數的參數以下:
下面將經過案例講解幾個重要參數的使用方法:函數
DataFrame.merge(left, right, how='inner', # {‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘inner’ on=None, left_on=None, right_on=None, sort=False, suffixes=('_x', '_y'))
注意4組數據的不一樣code
兩種不一樣的寫法,效果相同blog
用於鏈接的列索引列名,必須同時存在於左右的兩個dataframe型數據中,相似SQL中兩個表的相同字段屬性
若是沒有指定或者其餘參數也沒有指定,則以兩個dataframe型數據的相同鍵做爲鏈接鍵排序
on參數爲單個字段索引
另外一個例子:
on參數爲多個字段-列表形式數據分析
合併的時候一列兩個表同名,可是取值不一樣,若是都想要保存下來,就使用加後綴的方法,默認是 _x,_y,能夠本身指定pandas
對鏈接的時候相同鍵的取值進行排序it
concat方法是將兩個 DataFrame數據框中的數據進行合併
join參數
data3.append(data4) # 等同於pd.append([data3, data4]) 忽略pandas版本的警告
data3.append(data4, ignore_index=True) # 設置參數
data3.append(data4) # 默認對字段屬性排序
爲方便你們練習,能夠在公號「Python數據之道」後臺回覆 「20200917」 獲取本文的源代碼文件。
---------End---------