九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
pandas多表拼接(merge, join, concat)

可參考pd.merge
python中多表拼接簡要概括(參考張俊紅的書《對比excel學python數(shù)據(jù)分析》),以便自我查閱:
merge() 主要用于多表橫向拼接
concat() 主要用于縱向拼接

1,merge()橫向拼接
(一)當能夠找到公共列(兩表中該列內(nèi)容完全一樣):
(1)默認會自動尋找兩個表的公共列
(2)用on指定連接鍵,一般指定的也是兩個表的公共列,on可以指定一個或多個連接鍵
如pd.merge(df1,df2,on=‘學號’)
或者pd.merge(df1,df2,on=[‘姓名’,‘學號’])
(3)分別指定左右連接鍵:當兩表沒有公共列(此處指實際值一樣,但列名不同,如‘編號’和‘學號’,實際值都是學號),用left_on和right_on分別指定左表和右表用作連接鍵的列名,本質(zhì)上還是自動尋找兩個表的公共列
(4)把索引列當作連接鍵(兩表的公共列是索引列):left_index=True, right_index=True
或者left_index=True, right_on=‘學號’,表示左表連接鍵作為索引、右邊連接鍵作為普通列

(二)當兩表找不到完全一致的公共列(如df1中‘姓名’列包含‘小張’、‘小王’,df2中‘姓名’列包含‘小張’、‘小李’),采用how參數(shù)指明連接方式
(1)內(nèi)連接(how=‘inner’),兩表做交集,采用公共部分
(2)左連接(how=‘left’),以左表為基礎(chǔ),右表往左表上拼接(左表全保留,右表根據(jù)左表增刪,左表中有、右表沒有的部分,拼接過來用NaN填充)
(3)右連接(how=‘right’),以右表為基礎(chǔ),其他同上
(4)外連接(how=‘outer’),兩表做并集,缺失的部分用NaN填補
注:非連接列出現(xiàn)重復列名時,merge()會自動添加后綴_x,_y,_z等,可通過suffixes=[’_L’,’_R’]等方式修改

2,concat()縱向拼接,一般是若干個數(shù)據(jù)結(jié)構(gòu)相同的表格進行垂直方向拼接
pd.concat([df1,df2])
(1)默認保留原表索引,如df1和df2索引都為1234,則concat后索引為12341234
ignore_index=True,不保留原索引,重新生成一組索引01234567
(2) 重復值處理,若df1中‘姓名’列有‘小張’、‘小李’,df2的‘姓名’列有‘小王’、‘小李’,pd.concat(df1,df2)之后‘小李’出現(xiàn)兩次,采用drop_duplicates()刪除重復值
如pd.concat([df1,df1],ignore_index=True).drop_duplicates()

3,關(guān)于join()功能類似于merge(),用于橫向拼接
區(qū)別在于join只有一種連接鍵(索引作為連接鍵),而merge()有多種連接方式
df1.join(df2) ,df1和df2索引一致
若df1和df2索引不一致但有公共列(列名為‘ID’),則可先將公共列設(shè)為索引,再join,如:
df=df1.set_index(‘ID’).join(df2.set_index(‘ID’))
參考https://stackoverflow.com/questions/22676081/what-is-the-difference-between-join-and-merge-in-pandas
‘the related DataFrame.join method, uses merge internally for the
index-on-index and index-on-column(s) joins, but joins on indexes by
default rather than trying to join on common columns (the default
behavior for merge). If you are joining on index, you may wish to
use DataFrame.join to save yourself some typing.’

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【python技巧】使用pandas模塊可以輕松地實現(xiàn)表之間的關(guān)聯(lián)!
Pandas DataFrame連接表,幾種連接方法的對比
數(shù)據(jù)分析——Pandas合并數(shù)據(jù),實現(xiàn)多表連接查詢
這次終于一次性把merge()、join()、concat()的區(qū)別講清楚了
《Python for Excel》讀書筆記連載11:使用pandas進行數(shù)據(jù)分析之組合數(shù)據(jù)
Python 數(shù)據(jù)處理庫 pandas 進階教程
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服