Merge函数
Merge介绍
- pandas中的merge()函数类似于SQL中join的用法,可以将不同数据集依照某些字段(属性)进行合并操作,得到一个新的数据集。
Merge操作
import pandas as pd
left = pd.DataFrame({
'Name': ['张三', '李四', '王五', '陈二'],
'Address': ['北京', '南京', '上海', '广州'],
'Job': ['IT', '金融', '医学', '教育']})
right = pd.DataFrame({
'Name': ['张三', '李四', '王五', '陈二'],
'Age': ['25', '28', '31', '34'],
'ID': ['01', '02', '03', '04']})
res = pd.merge(left, right)
res = pd.merge(left, right, on = 'Name')
res

import pandas as pd
left = pd.DataFrame({
'Name': ['张三', '李四', '王五', '陈二'],
'ID': ['01', '02', '03', '04'],
'Address': ['北京', '南京', '上海', '广州'],
'Job': ['IT', '金融', '医学', '教育']})
right = pd.DataFrame({
'Name': ['张三', '李四', '王五', '陈二'],
'Age': ['25', '28', '31', '34'],
'ID': ['01', '02', '03', '04']})
res = pd.merge(left, right, on = ['Name', 'ID'])
res

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

left = pd.DataFrame({
'Name': ['张三', '李四', '王五', '陈二'],
'ID': ['01', '02', '03', '04'],
'Address': ['北京', '南京', '上海', '广州'],
'Job': ['IT', '金融', '医学', '教育']})
right = pd.DataFrame({
'Name': ['张三', '李四', '王五', '陈二'],
'Age': ['25', '28', '31', '34'],
'ID': ['01', '02', '03', '05']})
res = pd.merge(left, right, on = ['Name', 'ID'])
res

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

res = pd.merge(left, right, on = ['Name', 'ID'], how = 'outer', indicator = True)
res

res = pd.merge(left, right, how = 'left')
res = pd.merge(left, right, how = 'right')


left = pd.DataFrame({
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'key': ['K0', 'K1', 'K0', 'K1']})
right = pd.DataFrame({
'C': ['C0', 'C1'],
'D': ['D0', 'D1']},
index=['K0', 'K1'])
res = left.join(right, on='key')
res
