日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python---pandas.merge使用

發(fā)布時(shí)間:2025/3/20 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python---pandas.merge使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

merge 函數(shù)參數(shù)

”’
merge: 合并數(shù)據(jù)集, 通過(guò)left, right確定連接字段,默認(rèn)是兩個(gè)數(shù)據(jù)集相同的字段
參數(shù) 說(shuō)明
left 參與合并的左側(cè)DataFrame
right 參與合并的右側(cè)DataFrame
how 連接方式:‘inner’(默認(rèn));還有,‘outer’、‘left’、‘right’
on 用于連接的列名,必須同時(shí)存在于左右兩個(gè)DataFrame對(duì)象中,如果位指定,則以left和right列名的交集作為連接鍵
left_on 左側(cè)DataFarme中用作連接鍵的列
right_on 右側(cè)DataFarme中用作連接鍵的列
left_index 將左側(cè)的行索引用作其連接鍵
right_index 將右側(cè)的行索引用作其連接鍵
sort 根據(jù)連接鍵對(duì)合并后的數(shù)據(jù)進(jìn)行排序,默認(rèn)為True。有時(shí)在處理大數(shù)據(jù)集時(shí),禁用該選項(xiàng)可獲得更好的性能
suffixes 字符串值元組,用于追加到重疊列名的末尾,默認(rèn)為(‘_x’,‘_y’).例如,左右兩個(gè)DataFrame對(duì)象都有‘data’,則結(jié)果中就會(huì)出現(xiàn)‘data_x’,‘data_y’
copy 設(shè)置為False,可以在某些特殊情況下避免將數(shù)據(jù)復(fù)制到結(jié)果數(shù)據(jù)結(jié)構(gòu)中。默認(rèn)總是賦值
”’

1.merge默認(rèn)按相同字段合并,且取兩個(gè)都有的。

import pandas as pd
df1=pd.DataFrame({'name':['kate','herz','catherine','sally'],
'age':[25,28,39,35]})

df2=pd.DataFrame({'name':['kate','herz','sally'],
'score':[70,60,90]})
pd.merge(df1,df2)

age name score
0 25 kate 70
1 28 herz 60
2 35 sally 90

2. 當(dāng)左右連接字段不相同時(shí),使用left_on,right_on

pd.merge(df1,df2,left_on="name",right_on='call_name')

age name call_name score
0 25 kate kate 70
1 28 herz herz 60
2 35 sally sally 90

3. 合并后,刪除重復(fù)的列

pd.merge(df1,df2,left_on='name',right_on='call_name').drop('name',axis=1)

age call_name score
0 25 kate 70
1 28 herz 60
2 35 sally 90

?

4.參數(shù)how的使用

“1)默認(rèn):inner 內(nèi)連接,取交集”

pd.merge(df1,df2,on='name',how='inner')

age name score
0 25 kate 70
1 28 herz 60
2 35 sally 90
”’
“2)outer 外連接,取并集,并用nan填充”

df3=pd.DataFrame({'name':['kate','herz','sally','cristin'],
'score':[70,60,90,30]})
pd.merge(df1,df3,on='name',how='outer')

age name score
0 25 kate 70
1 28 herz 60
2 39 catherine NaN
3 35 sally 90
4 NaN cristin 30

“3)left 左連接, 左側(cè)取全部,右側(cè)取部分”

pd.merge(df1,df3,on='name',how='left')

age name score
0 25 kate 70
1 28 herz 60
2 39 catherine NaN
3 35 sally 90

“4) right 有連接,左側(cè)取部分,右側(cè)取全部”

pd.merge(df1,df3,on='name',how='right')

age name score
0 25 kate 70
1 28 herz 60
2 35 sally 90
3 NaN cristin 30

轉(zhuǎn)載于:https://www.cnblogs.com/lijinze-tsinghua/p/9878649.html

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的python---pandas.merge使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。