pandas中merge 函式的用法詳解

2021-09-29 01:39:00 字數 2110 閱讀 7485

merge()

import pandas as pd

pd.merge(dateframe1,dateframe2,on =

' ',how =

' ')

merge是pandas中用來合併資料的函式,不像concat是按照某行或某列來合併,而是按照資料中具體的某一字段來連線資料。

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

舉例說明

先列舉兩個dataframe

import pandas as pd

df_1 = pd.dataframe(

)df_1

姓名 年紀 城市

0 小明 10 上海

1 小紅 9 北京

2 小剛 12 深圳

df_2 = pd.dataframe(

)df_2

零花錢 城市

050 蘇州

1200 北京

2600 上海

3400 廣州

480 重慶

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的拼接方式。

# 外接,相當於兩個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

pandas中merge的用法

pandas中的merge和concat類似,但主要是用於 兩組有key column的資料 統一索引的資料.通常也被用在database的處理當中。import pandas as pd 定義資料集並列印出 left pd.dataframe right pd.dataframe print le...

Pandas 連線合併函式merge

一 merge函式用途 pandas中的merge 函式類似於sql中join的用法,可以將不同資料集依照某些字段 屬性 進行合併操作,得到乙個新的資料集。二 merge 函式的具體引數 引數 說明how 預設為inner,可設為inner outer left right on根據某個字段進行連線...

pandas 做合併操作 merge函式

pandas的merge方法提供了一種類似於sql的記憶體鏈結操作,官網文件提到它的效能會比其他開源語言的資料操作 例如r 要高效。merge的引數 on 列名,join用來對齊的那一列的名字,用到這個引數的時候一定要保證左表和右表用來對齊的那一列都有相同的列名。left on 左表對齊的列,可以是...