阿里面試題:Pandas中合併數據的5個函數,各有千秋!

2021-12-25 程式設計師大咖

👇👇關注後回復 「進群」 ,拉你進程式設計師交流群👇👇前幾天在一個群裡面,看到一位朋友,說到自己的阿里面試,被問了一些關於pandas的使用。其中一個問題是:pandas中合併數據的5中方法。今天借著這個機會,就為大家盤點一下pandas中合併數據的5個函數。但是對於每個函數,我這裡不打算詳細說明,具體用法大家可以參考pandas官當文檔。combine可以通過使用函數,把兩個DataFrame按列進行組合。joinjoin是基於索引的橫向拼接,如果索引一致,直接橫向拼接。如果索引不一致,則會用Nan值填充。索引一致
x = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                     'B': ['B0', 'B1', 'B2']},
                    index=[0, 1, 2])
y = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                      'D': ['D0', 'D2', 'D3']},
                    index=[0, 1, 2])
x.join(y)

索引不一致
x = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                     'B': ['B0', 'B1', 'B2']},
                    index=[0, 1, 2])
y = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                      'D': ['D0', 'D2', 'D3']},
                    index=[1, 2, 3])
x.join(y)

mergemerge是基於指定列的橫向拼接,該函數類似於關係型資料庫的連接方式,可以根據一個或多個鍵將不同的DatFrame連接起來。該函數的典型應用場景是,針對同一個主鍵存在兩張不同欄位的表,根據主鍵整合到一張表裡面。可以指定不同的how參數,表示連接方式,有inner內連、left左連、right右連、outer全連,默認為inner;
x = pd.DataFrame({'姓名': ['張三', '李四', '王五'],
                     '班級': ['一班', '二班', '三班']})
y = pd.DataFrame({'專業': ['統計學', '計算機', '繪畫'],
                      '班級': ['一班', '三班', '四班']})

pd.merge(x,y,how="left")

concatconcat函數既可以用於橫向拼接,也可以用於縱向拼接。縱向拼接
x = pd.DataFrame([['Jack','M',40],['Tony','M',20]], columns=['name','gender','age'])
y = pd.DataFrame([['Mary','F',30],['Bob','M',25]], columns=['name','gender','age'])
z = pd.concat([x,y],axis=0)
z

橫向拼接
x = pd.DataFrame({'姓名': ['張三', '李四', '王五'],
                     '班級': ['一班', '二班', '三班']})
y = pd.DataFrame({'專業': ['統計學', '計算機', '繪畫'],
                      '班級': ['一班', '三班', '四班']})
z = pd.concat([x,y],axis=1)
z

append
x = pd.DataFrame([['Jack','M',40],['Tony','M',20]], columns=['name','gender','age'])
y = pd.DataFrame([['Mary','F',30],['Bob','M',25]], columns=['name','gender','age'])
x.append(y)

combineconbine可以通過使用函數,把兩個DataFrame按列進行組合。
x = pd.DataFrame({"A":[3,4],"B":[1,4]})
y = pd.DataFrame({"A":[1,2],"B":[5,6]})
x.combine(y,lambda a,b:np.where(a>b,a,b))

-End-

最近有一些小夥伴,讓我幫忙找一些 面試題 資料,於是我翻遍了收藏的 5T 資料後,匯總整理出來,可以說是程式設計師面試必備!所有資料都整理到網盤了,歡迎下載!

在看點這裡好文分享給更多人↓↓

相關焦點

  • Pandas中合併數據的5個函數,各有千秋!
    作者:黃偉呢來源:快學Python 前幾天在一個群裡面,看到一位朋友,說到自己的阿里面試
  • 盤點 Pandas 中用於合併數據的 5 個最常用的函數!
    正好看到一位大佬 Yong Cui 總結的文章,我就按照他的方法,給大家分享用於Pandas中合併數據的 5 個最常用的函數。這樣大家以後就可以了解它們的差異,並正確使用它們了。在文章開始之前,我們需要創建兩個簡單的 DataFrame 對象。
  • 圖解Pandas數據合併:concat、join、append
    concat+join+append 在上一篇文章中介紹過pandas中最為常用的一個合併函數merge的使用,本文中介紹的是另外3個與合併操作相關的函數:Pandas連載 本文是Pandas數據分析庫的第15篇,歡迎閱讀:
  • 【Python】圖解Pandas數據合併:concat、join、append
    公眾號:尤而小屋作者:Peter編輯:Peter圖解pandas數據合併:concat+join+append 在上一篇文章中介紹過pandas中最為常用的一個合併函數merge的使用,本文中介紹的是另外3個與合併操作相關的函數:Pandas連載 本文是
  • 【Python】挑戰SQL:圖解Pandas的數據合併merge
    在pandas中也有實現合併功能的函數,比如:concat、append、join、merge。本文中重點介紹的是merge函數,也是pandas中最為重要的一個實現數據合併的函數。看完了你會放棄SQL嗎?
  • Pandas數據連接
    Pandas關於數據連接的函數有pandas.merge,pandas.concat,pandas.DataFrame.append,pandas.DataFrame.join
  • pandas數據分析之合併Excel文件
    pandas數據分析在教材中佔比不高,估計考試中出現的概率也不會太大。但是pandas的功能實在太強大了,不用它來做點什麼東西實在說不過去。剛好學校教務處讓我做一個合併Excel文件的小工具,把老師們每個月的績效工資、加班津貼和各種獎勵津貼等進行匯總。以前這件事情都是用VLOOKUP函數來做,表格多了以後還是挺麻煩的。
  • 使用Pandas進行數據處理
    引言我們將深入講解pandas庫在數據處理階段的功能數據處理又可以細分為三個階段,我們將通過例子詳細講解各個階段都會涉及哪些操作,以及如何充分利用pandas庫提供的函數來完成這些操作。數據處理的三個階段為:數據準備、數據轉換和數據聚合。數據準備開始處理數據工作之前,需要先行準備好數據,把數據組裝成便於用pandas庫的各種工具處理的數據結構。
  • 兩分鐘搞定阿里SQL面試題:億級表合併
    // 阿里面試 // 2010 年,阿里正當紅。 那年 BAT 的名氣還沒有現今那麼響亮。
  • 20個Pandas函數詳解
    Pandas是一個python數據分析庫。它提供了許多函數和方法來加快數據分析過程。pandas之所以如此普遍,是因為它具有強大的功能,以及他簡單的語法和靈活性。在這篇文章中,我將舉例來解釋20個常用的pandas函數。有些是很常見的,我敢肯定你以前用過。有些對你來說可能是新的。所有函數都將為你的數據分析過程增加價值。
  • 數據分析工具篇——pandas高效函數
    ,這些方法圍繞數據的查詢結果進行深入處理,在數據分析中主要做特徵處理工作。Dataframe數據結構的去重主要有三個函數:unique、drop_duplicates、duplicated。   這一功能顧名思義即為多列合一列以及一列分多列,在EXCEL和SQL中都有對應的函數可以完成操作,pandas中也給出了相應的方法:數據的拆分:df = pd.DataFrame({'AB': ['A1-B1-C1', 'A2-B2-C1']})df['C'], df['D'], df['E'] = df['AB']
  • 數據分析之Pandas合併操作總結
    ,它的使用基礎是Numpy(提供高性能的矩陣運算),用於數據挖掘和數據分析,同時也提供數據清洗功能。Pandas做分析數據,可以分為索引、分組、變形及合併四種操作。highlight=concat#pandas.concatmerge與join1. merge函數merge函數的作用是將兩個pandas對象橫向合併,遇到重複的索引項時會使用笛卡爾積,默認inner連接,可選left、outer、right連接。
  • 玩轉數據處理120題|Pandas版本
    、計算、可視化等常用操作,希望通過120道精心挑選的習題吃透pandas。個數據作為一個數據滑動窗口,在這個5個數據上取均值(收盤價)df['收盤價(元)'].rolling(5).mean()題目:以5個數據作為一個數據滑動窗口,計算這五個數據總和(收盤價)df['收盤價(元)'].rolling(5).sum()題目:
  • 第5章 精通pandas合併操作(使用pandas進行數據分析,)
    2. join函數第5章 合併import numpy as npimport pandas as pd①返回的框索引只會與被調用框的一致(默認使用左連接,下一節會介紹)②第二個框中的nan元素不會起作用③沒有返回值,直接在df上操作(b)例子例①:索引完全對齊情況下的操作
  • 玩轉數據處理120題|Pandas&R
    (`收盤價(元)`))/lag(`收盤價(元)`))df %>%  column_to_rownames(var='日期')題目:以5個數據作為一個數據滑動窗口,在這個5個數據上取均值(收盤價)df['收盤價(元)'].rolling(5).mean()library(RcppRoll)df %>%  transmute(avg_5 = roll_mean(`收盤價(元)`,n = 5,align="right",fill =
  • 再見excel,pandas實現表格最常用的10個函數
    pandas是個功能很強大的函數,對經常使用excel進行數據處理的朋友很有幫助今天教大家如何用pandas實現excel中最常見的10個函數,大大提高你的工作效率首先我們用pandas讀取數據:一、6個基礎函數1.求和函數--sum()pandas計算每名同學的總分:data['總分']=data.sum
  • 超全的pandas數據分析常用函數總結:下篇
    為了更好地學習數據分析,我對於數據分析中pandas這一模塊裡面常用的函數進行了總結。整篇總結,在詳盡且通俗易懂的基礎上,我力求使其有很強的條理性和邏輯性,所以製作了思維導圖,對於每一個值得深究的函數用法,我也會附上官方連結,方便大家繼續深入學習。
  • Pandas數據處理120題,你在第幾層?
    作者|劉早起Pandas進階修煉120題系列一共涵蓋了數據處理、計算、可視化等常用操作,希望通過120道精心挑選的習題吃透pandas。
  • 66個最常用的pandas數據分析函數
    29個 df[df[col] > 0.5] # 列 col 大於 0.5 df[(df[col] > 0.5) & (df[col] < 0.7)] # 小於 0.7 大於0.5的行 df.sort_values(col1) # 按col1升序對值進行排序
  • Pandas合併函數Merge的用法
    merge有點類似SQL中的join,可以將不同數據集按照某些欄位進行合併,得到新的數據集參數一覽表: