一文搞定pandas的數據合併

2021-03-02 Python數據之道

作者:來源於讀者投稿

出品: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」 獲取本文的原始碼文件。


相關焦點

  • 圖解Pandas數據合併:concat、join、append
    concat+join+append 在上一篇文章中介紹過pandas中最為常用的一個合併函數merge的使用,本文中介紹的是另外3個與合併操作相關的函數:Pandas連載 本文是Pandas數據分析庫的第15篇,歡迎閱讀:
  • 【Python】挑戰SQL:圖解Pandas的數據合併merge
    在pandas中也有實現合併功能的函數,比如:concat、append、join、merge。本文中重點介紹的是merge函數,也是pandas中最為重要的一個實現數據合併的函數。看完了你會放棄SQL嗎?
  • 阿里面試題:Pandas中合併數據的5個函數,各有千秋!
    👇👇關注後回復 「進群」 ,拉你進程式設計師交流群👇👇前幾天在一個群裡面,看到一位朋友,說到自己的阿里面試,被問了一些關於pandas
  • 使用Pandas進行數據處理
    數據處理的三個階段為:數據準備、數據轉換和數據聚合。數據準備開始處理數據工作之前,需要先行準備好數據,把數據組裝成便於用pandas庫的各種工具處理的數據結構。數據可能是來自不同的數據源,有著不同的格式,但是即使獲取到數據,把它們歸併為一個DataFrame後,你還需要做進一步處理,才能把數據準備好。在本節中,你將會學到把數據轉換為統一的數據結構所需的各種操作。對於存儲在pandas對象中的各種數據,其組裝方法有如下幾種:1.合併——pandas.merge( )函數根據一個或多個鍵連接多行。
  • 懂Excel輕鬆入門Python數據分析包pandas(十七):合併不規範數據
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言本系列上一篇文章關於合併多個 Excel 數據,許多小夥伴似乎對此比較感興趣,問我是否可以合併不規範的數據,本文就用他們提出的需求做一個大致講解上一節文章:懂Excel就能輕鬆入門Python數據分析包pandas(十六):合併數據奇葩格式
  • 當pandas遇上數據類型問題
    而在pandas中,一般情況下會根據我們導入的數據,自動分配最合適的數據類型。但是有時候pandas也會犯錯,這時候我們就需要diy自定義數據類型。本文主要將pandas的dtype,如何進行數據類型的操作。pands數據類型數據類型是程式語言的基礎性概念,ta會告訴電腦如何存儲數據、如何操作數據。
  • Pandas中合併數據的5個函數,各有千秋!
    其中一個問題是: Pandas中合併數據的5種方法 ? 今天借著這個機會,就為大家盤點一下pandas中合併數據的5個函數。但是對於每個函數,我這裡不打算詳細說明,具體用法大家可以參考pandas官當文檔。combine 可以通過使用函數,把兩個DataFrame按列進行組合。
  • 數據分析之Pandas合併操作總結
    ,它的使用基礎是Numpy(提供高性能的矩陣運算),用於數據挖掘和數據分析,同時也提供數據清洗功能。Pandas做分析數據,可以分為索引、分組、變形及合併四種操作。highlight=concat#pandas.concatmerge與join1. merge函數merge函數的作用是將兩個pandas對象橫向合併,遇到重複的索引項時會使用笛卡爾積,默認inner連接,可選left、outer、right連接。
  • 懂Excel就能輕鬆入門Python數據分析包pandas(十三):合併單元格
    後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言做數據分析時,當你拿到一份 Excel 數據之後,我相信你還沒有看數據,心就已經涼了一半。這是因為大概率數據格式"好看不好算",今天來看看怎麼解決報表格式常見的合併單元格問題。案例1今天你接到一個分析需求,需要統計2年內個城市月度平均銷量。
  • 用Python做數據分析:Pandas常用數據查詢語法
    一、舉例的數據 假設我有個六列的dataframe:一列是銷售員,一列是所屬團隊,其它四列分別是四個季度的銷售額。 切片-只給我看我關心的行 接下來就是涉及一些條件值的問題,例如我只關心Team為A的數據,在Excel裡是篩選框操作,在SQL裡寫個where就能搞定,在Pandas裡需要做切片。 查看Pandas文檔時,你可能已經見過各種切片的函數了,有loc,iloc,ix,iy,這裡不會像教科書一樣所有都講一通讓讀者搞混。這種根據列值選取行數據的查詢操作,推薦使用loc方法。
  • Pandas數據分析,你不能不知道的技能
    一、前言 本文來自四位讀者的合作,這四位讀者是之前推文14個pandas神操作,手把手教你寫代碼中贈書活動的中獎者,獎品是贈書《深入淺出Pandas:利用Python進行數據處理與分析》。後面贈書也會更多這樣,一來確保圖書贈送出去是給到了確實有需要、是想學習的讀者,再者獲贈讀者的分享也可以給其他未獲得贈書的讀者學習,也可以給公眾號推文積累素材。
  • 一張圖就能徹底搞定Pandas
    作者:劉早起公眾號:早起Python大家好,在三月初,我曾給大家分享過一份Matplotlib繪圖小抄,詳見收下這份來自GitHub的神器,一圖搞定Matplotlib!昨天在面向GitHub編程時,無意發現了Pandas官方竟提供了同款小抄,項目地址如下https://github.com/pandas-dev/pandas/blob/master/doc/cheatsheet/Pandas_Cheat_Sheet.pdf
  • pandas指南:做更高效的數據科學家
    今天我要告訴你們的是:在數據科學中,有一個軟體包是你們絕對需要學習的,那就是pandas。而pandas真正有趣的地方是,很多其他的包也在裡面。pandas是一個核心包,因此它具有來自其他各種包的特性。
  • 財務進階,pandas合併報表的三種方法!
    利用pandas處理財務數據時,你可能需要將多個df表合併或連在一起分析數據,這個也是我們審計中需要經常用到的方法,也是我們必須要掌握的技術。
  • 超詳細教程|pandas合併之append和concat(下)
    對象,可用中括號[]將兩個或多個對象括起來axis:指定對象按照那個軸進行拼接,默認為0(縱向拼接),1為橫向橫向拼接join:拼接的方式,inner為交集,outer為併集join_axes:index的列表,僅在橫向合併時使用,指明要將數據合併入哪個原表的
  • 盤點 Pandas 中用於合併數據的 5 個最常用的函數!
    正好看到一位大佬 Yong Cui 總結的文章,我就按照他的方法,給大家分享用於Pandas中合併數據的 5 個最常用的函數。這樣大家以後就可以了解它們的差異,並正確使用它們了。在文章開始之前,我們需要創建兩個簡單的 DataFrame 對象。
  • 第5章 精通pandas合併操作(使用pandas進行數據分析,)
    三、concat方法四、merge與join1. merge函數2. join函數第5章 合併import numpy as npimport pandas as pddf = pd.read_csv('data/table.csv')df.head()一、append
  • 用pandas處理時間格式數據
    做數據分析時基本都會導入pandas庫,而pandas提供了Timestamp和Timedelta兩個也很強大的類,並且在其官方文檔[1]上直接寫著對標datetime.datetime,所以就打算深入一下pandas內置的Timestamp的用法,在不導入datetime等庫的時候實現對時間相關數據的處理。
  • Python數據核對系列之2—power query VS pandas
    上一篇文章我們整體梳理了我核對兩個表數據,從excel query模式一版版過渡到python多線程多進程讀取資料庫數據後完成核對並輸出結果到資料庫表中的整個版本迭代過程
  • 數據分析進階:Pandas.Series
    本文內容參考自Pandas官方文檔:10 minutes to pandasSeries和DataFrame是Pandas中的兩種基本數據結構