Pandas 合并多個(gè)Dataframe(merge,concat)的方法
在數(shù)據(jù)處理的時(shí)候,尤其在搞大數(shù)據(jù)競賽的時(shí)候經(jīng)常會(huì)遇到一個(gè)問題就是,多個(gè)表單的合并問題,比如一個(gè)表單有user_id和age這兩個(gè)字段,另一個(gè)表單有user_id和sex這兩個(gè)字段,要把這兩個(gè)表合并成只有user_id、age、sex三個(gè)字段的表怎么辦的,普通的拼接是做不到的,因?yàn)閡ser_id每一行之間不是對應(yīng)的,像拼積木似的橫向拼接肯定是不行的。
pandas中有個(gè)merge函數(shù)可以做到這個(gè)實(shí)用的功能,merge這個(gè)詞會(huì)點(diǎn)SQL語言的應(yīng)該都不陌生。
下面說說merge函數(shù)怎么用:
df = pd.merge(df1, df2, how='left', on='user_id')
用法很簡單,說一下后兩個(gè)參數(shù)就可以了,how=""參數(shù)表示以哪個(gè)表的key為準(zhǔn),上面的how="left"表示以表df1為準(zhǔn),而key也就是on=""的參數(shù)
how="left"就是說,保留user_id字段的全部信息,不增加也不減少,但是拼接的時(shí)候只把df2表中的與df1中user_id字段交集的部分合并上就可以了,如果df2中出現(xiàn)了某個(gè)user_id在df1中沒有出現(xiàn),就拋棄掉這個(gè)樣本不作處理。
如果要進(jìn)行多key合并:
df = pd.merge(df1, df2, how='left', on=['user_id','sku_id'])
但是如果想僅進(jìn)行簡單的“拼接”而不是合并呢,要使用concat函數(shù):
df = pd.concat( [df_user, dummies_sex, dummies_age, dummies_level], axis=1 )
這樣可以保留這些表單的全部信息,參數(shù)axis=1表示列拼接,axis=0表示行拼接。
要保證背個(gè)表單的行數(shù)是相同的,并且每一行對應(yīng)的key也是相同的,列拼接才變得有意義
以上這篇Pandas 合并多個(gè)Dataframe(merge,concat)的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python命令行參數(shù)解析模塊getopt使用實(shí)例
這篇文章主要介紹了Python命令行參數(shù)解析模塊getopt使用實(shí)例,本文講解了使用語法格式、短選項(xiàng)參數(shù)實(shí)例、長選項(xiàng)參數(shù)實(shí)例等內(nèi)容,需要的朋友可以參考下2015-04-04
一次搞懂hasattr()/getattr()/setattr()在Python中的應(yīng)用
在Python中,hasattr()、getattr()和setattr()是一組內(nèi)置函數(shù),本文將從入門到精通,全面介紹hasattr()、getattr()和setattr()函數(shù)的用法和相關(guān)知識(shí)點(diǎn),需要的可以了解下2023-08-08
Python生成器generator和yield關(guān)鍵字的使用
生成器是一種特殊的迭代器,可以通過列表推導(dǎo)式的修改或者使用yield關(guān)鍵字來創(chuàng)建,生成器函數(shù)能夠在迭代時(shí)動(dòng)態(tài)產(chǎn)生值,而不是一次性生成所有值,這有助于節(jié)省內(nèi)存,yield關(guān)鍵字使函數(shù)執(zhí)行暫停并保存當(dāng)前狀態(tài),下次調(diào)用時(shí)從停止處繼續(xù)執(zhí)行2024-09-09
Pytorch中的modle.train,model.eval,with torch.no_grad解讀
這篇文章主要介紹了Pytorch中的modle.train,model.eval,with torch.no_grad解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
Django ORM判斷查詢結(jié)果是否為空,判斷django中的orm為空實(shí)例
這篇文章主要介紹了Django ORM判斷查詢結(jié)果是否為空,判斷django中的orm為空實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python中Dataframe元素為不定長list時(shí)的拆分分組
本文主要介紹了Python中Dataframe元素為不定長list時(shí)的拆分分組,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python開發(fā)畢設(shè)案例之桌面學(xué)生信息管理程序
畢業(yè)設(shè)計(jì)必備案例:Python開發(fā)桌面程序2021-11-11

