• Pandas入门之十五:合并连接


    已信任
    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
    [-]
  • 相关阅读:
    数据结构实用C语言基础
    第二个星期的C语言
    hello world!
    代码规范
    调用有道词典翻译api
    PO,POJO,BO,DTO,VO的区别
    切换Eclipse语言包
    URI和URL区别
    get和post
    Eclipse快捷键
  • 原文地址:https://www.cnblogs.com/vvzhang/p/15024249.html
Copyright © 2020-2023  润新知