日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

pandas中merge()函數的用法解讀_python

作者:還沒想好116 ? 更新時間: 2022-12-13 編程語言

merge()

import pandas as pd
pd.merge(DateFrame1,DateFrame2,on = ' ',how = ' ')

merge是pandas中用來合并數據的函數,不像concat是按照某行或某列來合并,而是按照數據中具體的某一字段來連接數據。

具體參數的意思,舉例說明,一看就懂??!

舉例說明

先列舉兩個DataFrame

import pandas as pd

df_1 = pd.DataFrame({'姓名': ["小明","小紅","小剛"],
                   '年紀': [10,9,12],
                   '城市': ['上海','北京','深圳']})
df_1

	姓名	年紀	城市
0	小明	10		上海
1	小紅	9		北京
2	小剛	12		深圳
df_2 = pd.DataFrame({'零花錢': [50,200,600,400,80],
                   '城市': ['蘇州','北京','上海','廣州','重慶']})
df_2

	零花錢	城市
0	50		蘇州
1	200		北京
2	600		上海
3	400		廣州
4	80		重慶

on表示按照那個特征來找相同的字段

# 兩個DataFrame都有“城市”,并且“城市”里面有相同的元素,可以按照這些相同的元素拼接
result = pd.merge(df_1,df_2, on = '城市')  
result

	姓名	年紀	城市	零花錢
0	小明	10		上海	600
1	小紅	9		北京	200

沒有on的話,就自動找相同的字段

# 沒有on的話,就自動找相同的字段
result = pd.merge(df_1,df_2) 
result

	姓名	年紀	城市	零花錢
0	小明	10		上海	600
1	小紅	9		北京	200

how是指兩個DateFrame的拼接方式

  • how = ‘outer’:外置,相當于兩個DateFrame求并集
  • how = ‘right’: 右置,合并后,按照最右邊不為空的樣本顯示
  • how = ‘left’:左置,合并后,按照最左邊不為空的樣本顯示
  • how = ‘inner’:只顯示匹配到的字段的樣本
# 外置,相當于兩個DateFrame求并集
result = pd.merge(df_1,df_2, on = '城市', how = 'outer') 
result

	姓名	年紀	城市	零花錢
0	小明	10.0	上海	600.0
1	小紅	9.0		北京	200.0
2	小剛	12.0	深圳	NaN
3	NaN		NaN		蘇州	50.0
4	NaN		NaN		廣州	400.0
5	NaN		NaN		重慶	80.0
 # 右置,
result = pd.merge(df_1,df_2, on = '城市',  how = 'right') 
result

	姓名	年紀	城市	零花錢
0	小明	10.0	上海	600
1	小紅	9.0		北京	200
2	NaN		NaN		蘇州	50
3	NaN		NaN		廣州	400
4	NaN		NaN		重慶	80
# 左置
result = pd.merge(df_1,df_2, on = '城市', how = 'left') 
result

	姓名	年紀	城市	零花錢
0	小明	10		上海	600.0
1	小紅	9		北京	200.0
2	小剛	12		深圳	NaN
# how = 'inner',只顯示具有相同字段的樣本
result = pd.merge(df_1,df_2, on = '城市', how = 'inner')  
result

	姓名	年紀	城市	零花錢
0	小明	10		上海	600
1	小紅	9		北京	200

原文鏈接:https://blog.csdn.net/weixin_44177568/article/details/102510021

欄目分類
最近更新