pandas中DataFrame的merge操作的實(shí)現(xiàn)
前言
本文主要記錄我在閱讀《Python金融大數(shù)據(jù)分析》一書時(shí),原本對書中DataFrame的merge操作有點(diǎn)疑惑,后來通過實(shí)驗(yàn)發(fā)現(xiàn)書上代碼在現(xiàn)有環(huán)境下已經(jīng)報(bào)錯(cuò)的事實(shí)。因此,進(jìn)行整理記錄。
一、merge操作是什么?
merge是對pandas的DataFrame對象進(jìn)行合并的操作。其具體參數(shù)如下:
pandas.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'),
copy=None, indicator=False, validate=None)
二、代碼實(shí)驗(yàn)
1.新建DataFrame
代碼如下:
import pandas as pd df1 = pd.DataFrame(['100','200','300','400'],index=['a','b','c','d'],columns=['A',]) df2 = pd.DataFrame(['200','150','50'],index=['f','b','d'],columns=['B',]) c = pd.Series([250,150,50],index=['b','d','c']) df1['C'] = c df2['C'] = c
DataFrame輸出如下:


2.merge操作
例1:默認(rèn)情況下,以C作為合并列
pd.merge(df1,df2)

例2:顯性設(shè)置合并列為C
pd.merge(df1,df2,on='C')

例3:設(shè)置外連接,可以理解為并集,默認(rèn)還是以C為合并列
pd.merge(df1,df2,how='outer')

例4:左DataFrame以A列為合并列,右DataFrame以B列為合并列
pd.merge(df1,df2,left_on='A',right_on='B')

例5:左DataFrame以A列為合并列,右DataFrame以B列為合并列,并集
pd.merge(df1,df2,left_on='A',right_on='B',how='outer')

例6:左DataFrame以索引為合并列,右DataFrame以索引為合并列
pd.merge(df1,df2,left_index=True,right_index=True)

例7:企圖以C為合并列,同時(shí)左DataFrame以索引為合并列
pd.merge(df1,df2,left_index=True,on='C')

系統(tǒng)會(huì)拋出合并異常,說合并列和索引不能同時(shí)設(shè)置,MergeError: Can only pass argument “on” OR “left_index” and “right_index”, not a combination of both.
總結(jié)
以上就是要記錄/勘誤的內(nèi)容,本文僅僅簡單介紹了pandas中DataFrame的merge使用。書中可能還存在許許多多的錯(cuò)誤,仍有待我們?nèi)グl(fā)掘。每一次小小的發(fā)現(xiàn)都是大大的收獲。
到此這篇關(guān)于pandas中DataFrame的merge操作的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)DataFrame merge操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python2和Python3中@abstractmethod使用方法
這篇文章主要介紹了Python2和Python3中@abstractmethod使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Pytorch?nn.Unfold()?與?nn.Fold()圖碼詳解(最新推薦)
這篇文章主要介紹了Pytorch?nn.Unfold()?與?nn.Fold()圖碼詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
Python如何獲取免費(fèi)高匿代理IP及驗(yàn)證
這篇文章主要介紹了Python如何獲取免費(fèi)高匿代理IP及驗(yàn)證問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Pandas merge合并操作的實(shí)現(xiàn)
Pandas的merge()函數(shù)用于合并兩個(gè)DataFrame數(shù)據(jù)表,本文就來介紹一下Pandas merge合并操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
Python輕量級ORM框架Peewee訪問sqlite數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了Python輕量級ORM框架Peewee訪問sqlite數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了ORM框架的概念、功能及peewee的安裝、使用及操作sqlite數(shù)據(jù)庫的方法,需要的朋友可以參考下2017-07-07
Python函數(shù)參數(shù)類型及排序原理總結(jié)
這篇文章主要介紹了Python函數(shù)參數(shù)類型及排序原理總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Python實(shí)現(xiàn)的字典排序操作示例【按鍵名key與鍵值value排序】
這篇文章主要介紹了Python實(shí)現(xiàn)的字典排序操作,結(jié)合實(shí)例形式分析了Python針對字典分別按照鍵名key與鍵值value進(jìn)行排序的相關(guān)操作技巧,需要的朋友可以參考下2018-12-12

