pandas中merge的用法

2021-08-19 13:53:21 字數 2600 閱讀 1136

pandas中的mergeconcat類似,但主要是用於

兩組有key column的資料

,統一索引的資料. 通常也被用在database的處理當中。

import pandas as pd

#定義資料集並列印出

left = pd.dataframe()

right = pd.dataframe()

print(left)

# a b key

# 0 a0 b0 k0

# 1 a1 b1 k1

# 2 a2 b2 k2

# 3 a3 b3 k3

print(right)

# c d key

# 0 c0 d0 k0

# 1 c1 d1 k1

# 2 c2 d2 k2

# 3 c3 d3 k3

#依據key column合併,並列印出

res = pd.merge(left, right, on='key')

print(res)

a b key c d

# 0 a0 b0 k0 c0 d0

# 1 a1 b1 k1 c1 d1

# 2 a2 b2 k2 c2 d2

# 3 a3 b3 k3 c3 d3

合併時有4種方法how = ['left', 'right', 'outer', 'inner'],預設值how='inner'

import pandas as pd

#定義資料集並列印出

left = pd.dataframe()

right = pd.dataframe()

print(left)

# a b key1 key2

# 0 a0 b0 k0 k0

# 1 a1 b1 k0 k1

# 2 a2 b2 k1 k0

# 3 a3 b3 k2 k1

print(right)

# c d key1 key2

# 0 c0 d0 k0 k0

# 1 c1 d1 k1 k0

# 2 c2 d2 k1 k0

# 3 c3 d3 k2 k0

#依據key1與key2 columns進行合併,並列印出四種結果['left', 'right', 'outer', 'inner']

res = pd.merge(left, right, on=['key1', 'key2'], how='inner')

print(res)

# a b key1 key2 c d

# 0 a0 b0 k0 k0 c0 d0

# 1 a2 b2 k1 k0 c1 d1

# 2 a2 b2 k1 k0 c2 d2

res = pd.merge(left, right, on=['key1', 'key2'], how='outer')

print(res)

# a b key1 key2 c d

# 0 a0 b0 k0 k0 c0 d0

# 1 a1 b1 k0 k1 nan nan

# 2 a2 b2 k1 k0 c1 d1

# 3 a2 b2 k1 k0 c2 d2

# 4 a3 b3 k2 k1 nan nan

# 5 nan nan k2 k0 c3 d3

res = pd.merge(left, right, on=['key1', 'key2'], how='left')

print(res)

# a b key1 key2 c d

# 0 a0 b0 k0 k0 c0 d0

# 1 a1 b1 k0 k1 nan nan

# 2 a2 b2 k1 k0 c1 d1

# 3 a2 b2 k1 k0 c2 d2

# 4 a3 b3 k2 k1 nan nan

res = pd.merge(left, right, on=['key1', 'key2'], how='right')

print(res)

# a b key1 key2 c d

# 0 a0 b0 k0 k0 c0 d0

# 1 a2 b2 k1 k0 c1 d1

# 2 a2 b2 k1 k0 c2 d2

# 3 nan nan k2 k0 c3 d3

pandas中merge 函式的用法詳解

merge import pandas as pd pd.merge dateframe1,dateframe2,on how merge是pandas中用來合併資料的函式,不像concat是按照某行或某列來合併,而是按照資料中具體的某一字段來連線資料。具體引數的意思,舉例說明,一看就懂!舉例說明 ...

SQL中Merge的用法

merge關鍵字是乙個神奇的dml關鍵字。它在sql server 2008被引入,它能將insert,update,delete簡單的並為一句。msdn對於merge的解釋非常的短小精悍 根據與源表聯接的結果,對目標表執行插入 更新或刪除操作。例如,根據在另乙個表中找到的差異在乙個表中插入 更新或...

SQL中Merge的用法

merge關鍵字是乙個神奇的dml關鍵字。它在sql server 2008被引入,它能將insert,update,delete簡單的並為一句。msdn對於merge的解釋非常的短小精悍 根據與源表聯接的結果,對目標表執行插入 更新或刪除操作。例如,根據在另乙個表中找到的差異在乙個表中插入 更新或...