pandas
中的merge
和concat
類似,但主要是用於
兩組有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的解釋非常的短小精悍 根據與源表聯接的結果,對目標表執行插入 更新或刪除操作。例如,根據在另乙個表中找到的差異在乙個表中插入 更新或...