国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Pandas 合并多個(gè)Dataframe(merge,concat)的方法

2020-02-15 21:42:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在數(shù)據(jù)處理的時(shí)候,尤其在搞大數(shù)據(jù)競(jìng)賽的時(shí)候經(jīng)常會(huì)遇到一個(gè)問(wèn)題就是,多個(gè)表單的合并問(wèn)題,比如一個(gè)表單有user_id和age這兩個(gè)字段,另一個(gè)表單有user_id和sex這兩個(gè)字段,要把這兩個(gè)表合并成只有user_id、age、sex三個(gè)字段的表怎么辦的,普通的拼接是做不到的,因?yàn)閡ser_id每一行之間不是對(duì)應(yīng)的,像拼積木似的橫向拼接肯定是不行的。

pandas中有個(gè)merge函數(shù)可以做到這個(gè)實(shí)用的功能,merge這個(gè)詞會(huì)點(diǎn)SQL語(yǔ)言的應(yīng)該都不陌生。

下面說(shuō)說(shuō)merge函數(shù)怎么用:

df = pd.merge(df1, df2, how='left', on='user_id') 

用法很簡(jiǎn)單,說(shuō)一下后兩個(gè)參數(shù)就可以了,how=""參數(shù)表示以哪個(gè)表的key為準(zhǔn),上面的how="left"表示以表df1為準(zhǔn),而key也就是on=""的參數(shù)

how="left"就是說(shuō),保留user_id字段的全部信息,不增加也不減少,但是拼接的時(shí)候只把df2表中的與df1中user_id字段交集的部分合并上就可以了,如果df2中出現(xiàn)了某個(gè)user_id在df1中沒(méi)有出現(xiàn),就拋棄掉這個(gè)樣本不作處理。

如果要進(jìn)行多key合并:

df = pd.merge(df1, df2, how='left', on=['user_id','sku_id']) 

但是如果想僅進(jìn)行簡(jiǎn)單的“拼接”而不是合并呢,要使用concat函數(shù):

df = pd.concat( [df_user, dummies_sex, dummies_age, dummies_level], axis=1 ) 

這樣可以保留這些表單的全部信息,參數(shù)axis=1表示列拼接,axis=0表示行拼接。

要保證背個(gè)表單的行數(shù)是相同的,并且每一行對(duì)應(yīng)的key也是相同的,列拼接才變得有意義

以上這篇Pandas 合并多個(gè)Dataframe(merge,concat)的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 佛冈县| 门源| 聂荣县| 穆棱市| 余江县| 淮安市| 龙里县| 凤庆县| 云梦县| 华容县| 迁西县| 阿城市| 大英县| 壤塘县| 大姚县| 饶平县| 诸暨市| 家居| 南雄市| 金坛市| 岑巩县| 海宁市| 永城市| 卓尼县| 巴林左旗| 辰溪县| 米林县| 离岛区| 明星| 山阴县| 临猗县| 百色市| 东乡| 内乡县| 元朗区| 星子县| 凤冈县| 彭阳县| 镇安县| 洛扎县| 崇仁县|