色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python Merge函數原理及用法解析

瀏覽:86日期:2022-07-11 08:48:53

Merge函數的用法

簡單來說Merge函數相當于Excel中的vlookup函數。當我們對2個表進行數據合并的時候需要通過指定兩個表中相同的列作為key,然后通過key匹配到其中要合并在一起的values值。

然后對于merge函數在Pandas中分為1vs1, 多(m)vs1,以及多(m)vs多(m)這三種場景。但是平時用的最多的往往是多vs1的這種場景。也就是說2個表中其中一個表作為key的值會出現重復,而另外一個表作為key的值則是唯一。

這種場景也很好理解。例如:我們在生產環境中對服務器進行管理,一臺服務器上可能裝了各種各樣的軟件。那么如果是Excel表格來管理的話一個軟件就占用一行信息。而服務器名是相同的。所以一個相同的服務器名就會出現多個。

這臺服務器上安裝了多少個軟件,服務器名就會重復幾次,也就是最終有幾行。那么另外一個表要想讀取這臺服務器上安裝的所有軟件,那么服務器名就要作為key,各個軟件的信息則是value值。最終被讀取寫入的那張表的key只能唯一。

我們看下面這個案例,是真實多v1的案例。為了數據安全我只能把截圖分享給大家,并把服務器名遮掩希望大家諒解。

數據表1:作為查詢的總表,其中服務器名這列就是B列中的信息會出現重復

Python Merge函數原理及用法解析

數據表2:下表為按照表1的key就是hostname來匹配,匹配到后按照表2的列名來讀取信息寫入到表2.這里同上因為服務器名敏感,所以也用馬賽克擋住了,忘諒解。

Python Merge函數原理及用法解析

代碼演示:

1. 讀取表1,表2中的內容,作為DataFrame賦值給變量

#%%import pandas as pd#讀取表1df01 = pd.read_excel('./datas/new_all_datas.xlsx', header=5)df01.head()#%%#讀取表2df02 = pd.read_excel('./datas/new_software_InputSheet.xlsx')df02#%%

2. 通過merge函數合并兩個DataFrame。on代表指明拿什么作為key來進行匹配。how這里分為left,right,inner,outer等方式。這里left代表按照表1為主表進行合并。

#%%#ホスト名作為key來匹配兩個表,相當于vlookup函數#how=left代表以left左表為主,這里則代表表二為左表df03 = pd.merge(df02,df01,on='ホスト名',how='left')df03

結果:合并結果如下。但是因為表1,表2中出現重復元素的列名,因此合并后Pandas會按照后綴,把相同列名按照_x,_y的方式生成多列。

Python Merge函數原理及用法解析

3. 去除沒用的列并按照條件查詢想要的數據. 下列需求是按照服務器名,找出對應的'ソフトウェア名'也就是software名為Trend Micro的軟件以及'ソフトウェア?造元'software制造商為Symantec的所有行。

#%%#因為表中有相同的列名因此自動后綴被加上了_y#下面代表篩選查詢范圍,以及指定查詢值df03 = df03.loc[:,['ホスト名','行番號','ソフトウェア區分_y','ソフトウェア名_y','ソフトウェアバ?ジョン_y','ソフトウェア?造元_y']]df04 = df03[(df03['ソフトウェア名_y']=='Trend Micro') | (df03['ソフトウェア?造元_y']=='Symantec')]#重新把列名設定換一下然后輸出df04.columns = ['ホスト名','行番號','ソフトウェア區分','ソフトウェア名','ソフトウェアバ?ジョン','ソフトウェア?造元']df04

結果:

Python Merge函數原理及用法解析

4. 將數據導出到Excel文件

#%%with pd.ExcelWriter('./datas/output_mergedatas.xlsx') as writer: df04.to_excel(writer,index=False) print('Done!!')

結果:當然也可以直接導入到數據表2中去。我這里為了不破壞原表,因此作為新的Excel表導出了。

Python Merge函數原理及用法解析

大家在日常業務中,如果遇到類似場景可以嘗試通過merge函數來合并您的數據。還可以結合loc切片以及寫下來要發表的pivot,pivot_table透視表來更加豐富的對數據進行清洗。

總體而言用慣了Pandas后會感覺相比Excel中的函數及宏。Pandas會更加的靈活也更加的強大。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲综合干 | 亚洲成人在线播放视频 | 一级毛片在线完整免费观看 | 久久久久琪琪去精品色村长 | 我要看a级毛片 | 亚洲黄色美女视频 | 成人午夜在线观看国产 | 在线视频免费国产成人 | 福利姬在线精品观看 | 国产成人夜间影院在线观看 | 欧美成人在线免费观看 | 日韩在线二区全免费 | 欧美日本一区 | 国产一级毛片视频在线! | 久久综合久久久久 | 国产黄毛片| 亚洲 欧美 激情 另类 自拍 | 直接看的毛片 | 国产成人cao在线 | 亚洲一级毛片免费观看 | 国产精品白浆流出视频 | 97精品国产91久久久久久 | 日本特黄特色免费大片 | 欧美激情国产一区在线不卡 | 中国女人毛茸茸免费视频 | 在线观看亚洲精品国产 | 男女做性免费视频软件 | 日韩国产成人精品视频人 | 久久精品国产欧美成人 | 久艹在线观看 | 国产一级做a爰片... | 免费看久久 | 美女被躁免费视频软件 | 在线观看免费黄色网址 | 亚洲免费网 | 日韩一级大毛片欧美一级 | 国产精品日本 | 日本vs欧美一区二区三区 | 在线免费观看亚洲 | 久久成人18免费 | 国内精品线在线观看 |