日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python数据分析】之数据合并的concat函数与merge函数

發(fā)布時間:2023/12/14 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python数据分析】之数据合并的concat函数与merge函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 系列文章
  • 一、concat函數(shù)
    • 1)橫向堆疊與外連接
      • 橫向堆疊合并df1和df2,采用==外連接==的方式
    • 2) 縱向堆疊與內鏈接
  • 二、merge()函數(shù)
    • 1)根據(jù)行索引合并數(shù)據(jù)
    • 2)合并重疊數(shù)據(jù)

系列文章

  • Python之Series和DataFrame的數(shù)據(jù)排序
  • Python數(shù)據(jù)分析之復習知識點
  • 一、concat函數(shù)

  • concat()函數(shù)可以沿著一條軸將多個對象進行堆疊,其使用方式類似數(shù)據(jù)庫中的數(shù)據(jù)表合并
    pandas.concat(objs, axis=0, join=’outer’, join_axes=None, ignore_index=False, keys=None, levels=None, verify_integrity=False, sort=None, copy=True)
  • 參數(shù)含義如下:
  • 參數(shù)作用
    axis表示連接的軸向,可以為0或者1,默認為0
    join表示連接的方式,inner表示內連接,outer表示外連接,默認使用外連接
    ignore_index接收布爾值,默認為False。如果設置為True,則表示清除現(xiàn)有索引并重置索引值
    keys接收序列,表示添加最外層索引
    levels用于構建MultiIndex的特定級別(唯一值)
    names設置了keys和level參數(shù)后,用于創(chuàng)建分層級別的名稱
    verify_integerity檢查新的連接軸是否包含重復項。接收布爾值,當設置為True時,如果有重復的軸將會拋出錯誤,默認為False
  • 根據(jù)軸方向的不同,可以將堆疊分成橫向堆疊與縱向堆疊,默認采用的是縱向堆疊方式
  • 在堆疊數(shù)據(jù)時,默認采用的是外連接(join參數(shù)設為outer)的方式進行合并,當然也可以通過join=inner設置為內連接的方式。
  • 1)橫向堆疊與外連接

    import pandas as pd df1=pd.DataFrame({'A':['A0','A1','A2'],'B':['B0','B1','B2']}) df1

    df2=pd.DataFrame({'C':['C0','C1','C2'],'D':['D0','D1','D2']}) df2

    橫向堆疊合并df1和df2,采用外連接的方式

    pd.concat([df1,df2],join='outer',axis=1)

    2) 縱向堆疊與內鏈接

  • import pandas as pd first=pd.DataFrame({'A':['A0','A1','A2'],'B':['B0','B1','B2'],'C':['C0','C1','C2']}) first

  • second=pd.DataFrame({'B':['B3','B4','B5'],'C':['C3','C4','C5'],'D':['D3','D4','D5']}) second

  • 當使用concat()函數(shù)合并時,若是將axis參數(shù)的值設為0,且join參數(shù)的值設為inner,則代表著使用縱向堆疊與內連接的方式進行合并
  • pd.concat([first,second],join='inner',axis=0)

    二、merge()函數(shù)

    1)主鍵合并數(shù)據(jù)

  • 在使用merge()函數(shù)進行合并時,默認會使用重疊的列索引做為合并鍵,并采用內連接方式合并數(shù)據(jù),即取行索引重疊的部分。
  • import pandas as pd left=pd.DataFrame({'key':['K0','K1','K2'],'A':['A0','A1','A2'],'B':['B0','B1','B2']}) left

    right=pd.DataFrame({'key':['K0','K1','K2','K3'],'C':['C0','C1','C2','C3'],'D':['D0','D1','D2','D3']}) right

    pd.merge(left,right,on='key')

    2)merge()函數(shù)還支持對含有多個重疊列的DataFrame對象進行合并。

    import pandas as pd data1=pd.DataFrame({'key':['K0','K1','K2'],'A':['A0','A1','A2'],'B':['B0','B1','B2']}) data1

    data2=pd.DataFrame({'key':['K0','K5','K2','K4'],'B':['B0','B1','B2','B5'],'C':['C0','C1','C2','C3'],'D':['D0','D1','D2','D3']}) data2

    pd.merge(data1,data2,on=['key','B'])

    1)根據(jù)行索引合并數(shù)據(jù)

  • join()方法能夠通過索引或指定列來連接多個DataFrame對象
  • join(other,on = None,how =‘left’,lsuffix =‘’,rsuffix =‘’,sort = False )
  • 參數(shù)作用
    on名稱,用于連接列名
    how?可以從{‘‘left’’ ,‘‘right’’, ‘‘outer’’, ‘‘inner’’}中任選一個,默認使用左連接的方式。
    sort根據(jù)連接鍵對合并的數(shù)據(jù)進行排序,默認為False
    import pandas as pd data3=pd.DataFrame({'A':['A0','A1','A2'],'B':['B0','B1','B2']}) data3

    data4=pd.DataFrame({'C': ['C0', 'C1', 'C2'],'D': ['D0', 'D1', 'D2']},index=['a','b','c']) data3.join(data4,how='outer') # 外連接

    data3.join(data4,how='left') #左連接

    data3.join(data4,how='right') #右連接

    data3.join(data4,how='inner') #內連接

    import pandas as pd left = pd.DataFrame({'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2'],'key': ['K0', 'K1', 'K2']}) left

    right = pd.DataFrame({'C': ['C0', 'C1','C2'],'D': ['D0', 'D1','D2']},index=['K0', 'K1','K2']) right


    on參數(shù)指定連接的列名

    left.join(right,how='left',on='key') #on參數(shù)指定連接的列名

    2)合并重疊數(shù)據(jù)

    當DataFrame對象中出現(xiàn)了缺失數(shù)據(jù),而我們希望使用其他DataFrame對象中的數(shù)據(jù)填充缺失數(shù)據(jù),則可以通過combine_first()方法為缺失數(shù)據(jù)填充。

    import pandas as pd import numpy as np from numpy import NAN left = pd.DataFrame({'A': [np.nan, 'A1', 'A2', 'A3'],'B': [np.nan, 'B1', np.nan, 'B3'],'key': ['K0', 'K1', 'K2', 'K3']}) left

    right = pd.DataFrame({'A': ['C0', 'C1','C2'],'B': ['D0', 'D1','D2']},index=[1,0,2]) right


    用right的數(shù)據(jù)填充left缺失的部分

    left.combine_first(right) # 用right的數(shù)據(jù)填充left缺失的部分


    總結

    以上是生活随笔為你收集整理的【Python数据分析】之数据合并的concat函数与merge函数的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日本黄色小视频 | 男女搞鸡网站 | 国产精品videossex久久发布 | 久久无码人妻精品一区二区三区 | 亚洲精品av中文字幕在线在线 | 亚洲av无码潮喷在线观看 | 精品亚洲在线 | 99在线视频精品 | 日本少妇电影 | 九九亚洲精品 | 成人在线影片 | 久久视频在线看 | 日本亚洲天堂 | 久久五| 午夜视频免费在线 | www色亚洲| 欧美在线观看视频一区二区 | 免费观看av网址 | 欧美黑人又粗又大高潮喷水 | 国产专区在线 | 精品欧美在线观看 | 欧美激情免费观看 | 亚洲高清在线免费观看 | 男人天堂2020 | 丰满人妻一区二区三区免费视频 | 久久久久无码国产精品不卡 | 色呦呦一区 | 婷婷丁香六月天 | 国产做爰xxxⅹ性视频国 | 欧美一区二区三区爱爱 | 亚洲国产精品人人爽夜夜爽 | 午夜鲁鲁 | 电影《走路上学》免费 | 天天插综合网 | 美女隐私无遮挡免费 | 国产精品久久91 | 蜜桃av噜噜一区二区三区麻豆 | 国产网站黄色 | 黄色性视频网站 | 丰满少妇麻豆av苏语棠 | 午夜av电影在线观看 | 99久久精品无码一区二区毛片 | av老司机在线| 午夜国产视频 | 2014亚洲天堂 | 久久久久久久九九九九 | 日日日插插插 | 黑人巨大精品 | 天天摸天天碰天天爽天天弄 | 大肉大捧一进一出好爽视频 | 久久这里只有精品国产 | 黄色小视频链接 | 久久九九国产精品 | 午夜在线看片 | 国产女18毛片多18精品 | 影音先锋激情在线 | 国产日韩欧美另类 | 18岁免费观看电视连续剧 | 麻豆传媒一区二区三区 | 丰满少妇一区二区三区专区 | 欧美又粗又大xxxxbbbb疯狂 | www激情| 国产精品无码免费在线观看 | 日一区二区三区 | 我想看毛片 | 亚洲区一区二区三区 | 国产高清在线观看 | 日本精品人妻无码免费大全 | 国语对白做受69按摩 | av片免费在线 | 亚洲第一视频在线 | 粉嫩av蜜桃av蜜臀av | 中文字幕亚洲专区 | 日韩在线视频二区 | 红桃成人网 | 久草福利在线视频 | 国产精品对白 | 久草这里只有精品 | 亚洲国产黄色 | 久久亚洲AV无码专区成人国产 | 免费av毛片| 欧美久久久久久久久久久久 | 日本免费视频 | 嫩草私人影院 | 精品视频999 | 国产aⅴ激情无码久久久无码 | 推特裸体gay猛交gay | 日韩中文字幕视频在线观看 | www.com国产| 噜啪啪 | 日韩精品免费一区二区在线观看 | 国产精品一区在线播放 | 日韩av激情 | 亚洲国产在 | 免费看裸体网站视频 | 99精品久久99久久久久 | 一区二区日韩av | 亚洲国产精彩中文乱码av | 日产av在线 |