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

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

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Pandas 基础(9) - 组合方法 merge

發(fā)布時(shí)間:2024/4/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pandas 基础(9) - 组合方法 merge 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先, 還是以天氣為例, 準(zhǔn)備如下數(shù)據(jù):

df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'temperature': [21, 24, 32], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'humidity': [89, 79, 80], }) df = pd.merge(df1, df2, on='city')

輸出:

上面的例子就是以 'city' 為基準(zhǔn)對(duì)兩個(gè) dataframe 進(jìn)行合并, 但是兩組數(shù)據(jù)都是高度一致, 下面調(diào)整一下:

df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando', 'baltimore'], 'temperature': [21, 24, 32, 29], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'san francisco'], 'humidity': [89, 79, 80], }) df = pd.merge(df1, df2, on='city')

輸出:

從輸出我們看出, 通過(guò) merge 合并, 會(huì)取兩個(gè)數(shù)據(jù)的交集.

那么, 我們應(yīng)該可以設(shè)想到, 可以通過(guò)調(diào)整參數(shù), 來(lái)達(dá)到不同的取值范圍.?
取并集:

df = pd.merge(df1, df2, on='city', how='outer')

輸出:

左對(duì)齊:

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

輸出:

右對(duì)齊:

df = pd.merge(df1, df2, on='city', how='right')


另外, 在我們?nèi)〔⒓臅r(shí)候, 我們有時(shí)可能會(huì)想要知道, 某個(gè)數(shù)據(jù)是來(lái)自哪邊, 可以通過(guò) indicator 參數(shù)來(lái)獲取:

df = pd.merge(df1, df2, on='city', how='outer', indicator=True)

輸出:

在上面的例子中, 被合并的數(shù)據(jù)的列名是沒(méi)有沖突的, 所以合并的很順利, 那么如果兩組數(shù)據(jù)有相同的列名, 又會(huì)是什么樣呢? 看下面的例子:

df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando', 'baltimore'], 'temperature': [21, 24, 32, 29], 'humidity': [89, 79, 80, 69], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'san francisco'], 'temperature': [30, 32, 28], 'humidity': [80, 60, 70], }) df = pd.merge(df1, df2, on='city')

輸出:

我們發(fā)現(xiàn), 相同的列名被自動(dòng)加上了 'x', 'y' 作為區(qū)分, 為了更直觀地觀察數(shù)據(jù), 我們也可以自定義這個(gè)區(qū)分的標(biāo)志:

df3 = pd.merge(df1, df2, on='city', suffixes=['_left', '_right'])

輸出:

好了, 以上, 就是關(guān)于 merge 合并的相關(guān)內(nèi)容, enjoy~~~

?

轉(zhuǎn)載于:https://www.cnblogs.com/rachelross/p/10428805.html

超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的Pandas 基础(9) - 组合方法 merge的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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