已信任 Jupyter 服务器: 本地 Python 3: Not Started [1] import pandas as pd import numpy as np [6] yuwen = pd.DataFrame({ 'id':[1,2,3,4,5], 'name':['小明','小敏','小红','小黑','小王'], 'yuwenScore':[99,77,45,87,66] }) yuwen id name yuwenScore 0 1 小明 99 1 2 小敏 77 2 3 小红 45 3 4 小黑 87 4 5 小王 66 [7] shuxue = pd.DataFrame({ 'id':[1,2,3,4,5], 'name':['小明','小敏','小红','小黑','小王'], 'shuxueScore':[79,56,88,92,68] }) shuxue id name shuxueScore 0 1 小明 79 1 2 小敏 56 2 3 小红 88 3 4 小黑 92 4 5 小王 68 [8] pd.merge(yuwen,shuxue,on='id')# 通过id合并 id name_x yuwenScore name_y shuxueScore 0 1 小明 99 小明 79 1 2 小敏 77 小敏 56 2 3 小红 45 小红 88 3 4 小黑 87 小黑 92 4 5 小王 66 小王 68 [9] pd.merge(yuwen,shuxue,on=['id','name']) id name yuwenScore shuxueScore 0 1 小明 99 79 1 2 小敏 77 56 2 3 小红 45 88 3 4 小黑 87 92 4 5 小王 66 68 [10] # 新数据 shuxue = pd.DataFrame({ 'id':[1,2,3,4,5,6], 'name':['小明','小敏','小红','小黑','小王','老李'], 'shuxueScore':[79,56,88,92,68,88] }) shuxue id name shuxueScore 0 1 小明 79 1 2 小敏 56 2 3 小红 88 3 4 小黑 92 4 5 小王 68 5 6 老李 88 [11] pd.merge(yuwen,shuxue,on='id')# 通过id合并,取的是交集,相同的合并 id name_x yuwenScore name_y shuxueScore 0 1 小明 99 小明 79 1 2 小敏 77 小敏 56 2 3 小红 45 小红 88 3 4 小黑 87 小黑 92 4 5 小王 66 小王 68 [12] pd.merge(yuwen,shuxue,on=['id','name'], how='inner')# 默认按照inner合并,合并交集 id name yuwenScore shuxueScore 0 1 小明 99 79 1 2 小敏 77 56 2 3 小红 45 88 3 4 小黑 87 92 4 5 小王 66 68 [13] # how设置合并的方式,inner:键的交集;left左边的;right右边的;outer使用联合 pd.merge(yuwen,shuxue,on=['id','name'], how='right')# 按照右边的表shuxue合并 id name yuwenScore shuxueScore 0 1 小明 99.0 79 1 2 小敏 77.0 56 2 3 小红 45.0 88 3 4 小黑 87.0 92 4 5 小王 66.0 68 5 6 老李 NaN 88 [14] yuwen = pd.DataFrame({ 'id':[1,2,3,4,5,6], 'name':['小明','小敏','小红','小黑','小王','老陈'], 'yuwenScore':[99,77,45,87,66,99] }) yuwen id name yuwenScore 0 1 小明 99 1 2 小敏 77 2 3 小红 45 3 4 小黑 87 4 5 小王 66 5 6 老陈 99 [17] pd.merge(yuwen,shuxue,on=['id','name'], how='outer') id name yuwenScore shuxueScore 0 1 小明 99.0 79.0 1 2 小敏 77.0 56.0 2 3 小红 45.0 88.0 3 4 小黑 87.0 92.0 4 5 小王 66.0 68.0 5 6 老陈 99.0 NaN 6 6 老李 NaN 88.0 [-]