作者:來源於讀者投稿
出品:Python數據之道
一文搞定pandas的數據合併在實際處理數據業務需求中,我們經常會遇到這樣的需求:將多個表連接起來再進行數據的處理和分析,類似SQL中的連接查詢功能。pandas中也提供了幾種方法來實現這個功能,表現最突出、使用最為廣泛的方法是merge。本文中將下面👇四種方法及參數通過實際案例來進行具體講解。文章目錄導入庫做數據分析的時候這兩個庫是必須導入的,國際慣例一般。import pandas as pd
import numpy as np
— 01 —
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'))
模擬數據使用默認參數參數how參數on用於連接的列索引列名,必須同時存在於左右的兩個dataframe型數據中,類似SQL中兩個表的相同欄位屬性如果沒有指定或者其他參數也沒有指定,則以兩個dataframe型數據的相同鍵作為連接鍵on參數為單個欄位on參數為多個欄位-列表形式參數lefton/righton參數suffixes合併的時候一列兩個表同名,但是取值不同,如果都想要保存下來,就使用加後綴的方法,默認是 _x,_y,可以自己指定參數sort— 02 —
concat
官方參數concat方法是將兩個 DataFrame數據框中的數據進行合併生成數據指定合併軸改變索引join參數sort-屬性排序— 03 —
append
官方參數基本使用data3.append(data4) # 等同於pd.append([data3, data4]) 忽略pandas版本的警告
改變索引-自然數排序data3.append(data4, ignore_index=True) # 設置參數
sort=True-屬性的排序data3.append(data4) # 默認對欄位屬性排序
— 04 —
join
官方參數通過相同索引合併相同欄位屬性指後綴相同欄位變成索引index相同欄位保留一次為方便大家練習,可以在公號「Python數據之道」後臺回復 「20200917」 獲取本文的原始碼文件。