欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

pandas中如何使用merge函數(shù)

這篇文章給大家分享的是有關(guān)pandas中如何使用merge函數(shù)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、興賓ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的興賓網(wǎng)站制作公司

merge

merge函數(shù)方法類(lèi)似SQL里的join,可以是pd.merge或者df.merge,區(qū)別就在于后者待合并的數(shù)據(jù)是

pd.merge(
    left: 'DataFrame | Series',
    right: 'DataFrame | Series',
    how: 'str' = 'inner',
    on: 'IndexLabel | None' = None,
    left_on: 'IndexLabel | None' = None,
    right_on: 'IndexLabel | None' = None,
    left_index: 'bool' = False,
    right_index: 'bool' = False,
    sort: 'bool' = False,
    suffixes: 'Suffixes' = ('_x', '_y'),
    copy: 'bool' = True,
    indicator: 'bool' = False,
    validate: 'str | None' = None,
) -> 'DataFrame'

在函數(shù)方法中,關(guān)鍵參數(shù)含義如下:

  • left: 用于連接的左側(cè)數(shù)據(jù)

  • right: 用于連接的右側(cè)數(shù)據(jù)

  • how: 數(shù)據(jù)連接方式,默認(rèn)為 inner,可選outer、left和right

  • on: 連接關(guān)鍵字段,左右側(cè)數(shù)據(jù)中需要都存在,否則就用left_on和right_on

  • left_on: 左側(cè)數(shù)據(jù)用于連接的關(guān)鍵字段

  • right_on: 右側(cè)數(shù)據(jù)用于連接的關(guān)鍵字段

  • left_index: True表示左側(cè)索引為連接關(guān)鍵字段

  • right_index: True表示右側(cè)索引為連接關(guān)鍵字段

  • suffixes: ‘Suffixes’ = (’_x’, ‘_y’),可以自由指定,就是同列名合并后列名顯示后綴

  • indicator: 是否顯示合并后某行數(shù)據(jù)的歸屬來(lái)源

接下來(lái),我們就對(duì)該函數(shù)功能進(jìn)行演示

基礎(chǔ)合并

In [55]: df1 = pd.DataFrame({'key': ['foo', 'bar', 'bal'],
    ...:                     'value2': [1, 2, 3]})

In [56]: df2 = pd.DataFrame({'key': ['foo', 'bar', 'baz'],
    ...:                     'value1': [5, 6, 7]})

In [57]: df1.merge(df2)
Out[57]: 
   key  value2  value1
0  foo       1       5
1  bar       2       6

其他連接方式

In [58]: df1.merge(df2, how='left')
Out[58]: 
   key  value2  value1
0  foo       1     5.0
1  bar       2     6.0
2  bal       3     NaN

In [59]: df1.merge(df2, how='right')
Out[59]: 
   key  value2  value1
0  foo     1.0       5
1  bar     2.0       6
2  baz     NaN       7

In [60]: df1.merge(df2, how='outer')
Out[60]: 
   key  value2  value1
0  foo     1.0     5.0
1  bar     2.0     6.0
2  bal     3.0     NaN
3  baz     NaN     7.0

In [61]: df1.merge(df2, how='cross')
Out[61]: 
  key_x  value2 key_y  value1
0   foo       1   foo       5
1   foo       1   bar       6
2   foo       1   baz       7
3   bar       2   foo       5
4   bar       2   bar       6
5   bar       2   baz       7
6   bal       3   foo       5
7   bal       3   bar       6
8   bal       3   baz       7

指定連接鍵

可以指定單個(gè)連接鍵,也可以指定多個(gè)連接鍵

In [62]: df1 = pd.DataFrame({'lkey1': ['foo', 'bar', 'bal'],
    ...:                     'lkey2': ['a', 'b', 'c'],
    ...:                     'value2': [1, 2, 3]})

In [63]: df2 = pd.DataFrame({'rkey1': ['foo', 'bar', 'baz'],
    ...:                     'rkey2': ['a', 'b', 'c'],
    ...:                     'value2': [5, 6, 7]})
    
In [64]: df1
Out[64]: 
  lkey1 lkey2  value2
0   foo     a       1
1   bar     b       2
2   bal     c       3

In [65]: df2
Out[65]: 
  rkey1 rkey2  value2
0   foo     a       5
1   bar     b       6
2   baz     c       7

In [66]: df1.merge(df2, left_on='lkey1', right_on='rkey1')
Out[66]: 
  lkey1 lkey2  value2_x rkey1 rkey2  value2_y
0   foo     a         1   foo     a         5
1   bar     b         2   bar     b         6

In [67]: df1.merge(df2, left_on=['lkey1','lkey2'], right_on=['rkey1','rkey2'])
Out[67]: 
  lkey1 lkey2  value2_x rkey1 rkey2  value2_y
0   foo     a         1   foo     a         5
1   bar     b         2   bar     b         6

指定索引為鍵

Out[68]: df1.merge(df2, left_index=True, right_index=True)
Out[68]: 
  lkey1 lkey2  value2_x rkey1 rkey2  value2_y
0   foo     a         1   foo     a         5
1   bar     b         2   bar     b         6
2   bal     c         3   baz     c         7

設(shè)置重復(fù)列后綴

In [69]: df1.merge(df2, left_on='lkey1', right_on='rkey1', suffixes=['左','右'])
Out[69]: 
  lkey1 lkey2  value2左 rkey1 rkey2  value2右
0   foo     a        1   foo     a        5
1   bar     b        2   bar     b        6

連接指示

新增一列用于顯示數(shù)據(jù)來(lái)源

In [70]: df1.merge(df2, left_on='lkey1', right_on='rkey1', suffixes=['左','右'], how='outer',
    ...:           indicator=True
    ...:       )
Out[70]: 
  lkey1 lkey2  value2左 rkey1 rkey2  value2右      _merge
0   foo     a      1.0   foo     a      5.0        both
1   bar     b      2.0   bar     b      6.0        both
2   bal     c      3.0   NaN   NaN      NaN   left_only
3   NaN   NaN      NaN   baz     c      7.0  right_only

感謝各位的閱讀!關(guān)于“pandas中如何使用merge函數(shù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

當(dāng)前名稱(chēng):pandas中如何使用merge函數(shù)
當(dāng)前地址:http://aaarwkj.com/article18/gooddp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站標(biāo)簽優(yōu)化品牌網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、電子商務(wù)、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
线上免费看黄色亚洲片| 国产高清不卡一区二区| 久久精品国产一区二区| 日韩欧美午夜福利在线视频| 亚洲精品偷拍在线观看| 国产大片在线观看一区二区| 久久精品女人天堂av免费观看 | 国产精品自产在线观看一| 国产av剧情极品丝袜美女| 日本一区不卡二区高清| 日韩亚洲欧美另类精品| 少妇二区三区精品视频| 日韩精品一区二区在| 巨乳人妻一区二区三区| 久久这里只有精品热免费| 日韩电影中文字幕一区| 欧美日韩综合精品无人区| 91美女黑丝免费国产视频| 免费无码不卡av一区二区| 欧美精品亚洲精品日韩经典| 亚洲国产日韩欧美一级| 国产亚洲超级97免费视频| 国产三级视频在线2022| 国产二区三区在线播放| 日韩精品少妇一区二区在线看| 亚洲综合偷拍日韩av| 秋霞三级在线免费观看| 黄色av手机在线观看| 精品av一区二区在线| 亚洲国产高清第一第二区| 亚洲综合日韩精品在线| 国产手机在线91精品观看| 国产真实精品对白又爽欧美| 久久精品国产亚洲av久一一区| 九九精品在线观看视频| 欧美黄片在线免费观看视频| 在线看日本一区二区| 国产三级精品三级精品在一区| 在线国产偷拍自拍视频| 亚洲国产免费一区二区| 国产爆操美女在线观看|