• pandas学习(五)merge


    pandas学习(五)merge

    • .concat() 通常用来连接DataFrame对象。默认情况下是对两个DataFrame对象进行纵向连接, 当然通过设置参数,也可以通过它实现DataFrame对象的横向连接。
    • .merge() 和pd.concat()不同,pd.merge()只能用于两个表的拼接,而且通过参数名称也能看出连接方向是左右拼接,一个左表一个右表,而且参数中没有指定拼接轴的参数,所以pd.merge()不能用于表的上下拼接。
    • .append() ,的默认操作效果跟concat()相同, 都是实现两个DataFrame的纵向连接。事实上可以把它看做concat()的早期版本:

    1.数据集1

    1.1 创建数据集

    raw_data_1 = {
            'subject_id': ['1', '2', '3', '4', '5'],
            'first_name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 
            'last_name': ['Anderson', 'Ackerman', 'Ali', 'Aoni', 'Atiches']}
    
    raw_data_2 = {
            'subject_id': ['4', '5', '6', '7', '8'],
            'first_name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 
            'last_name': ['Bonder', 'Black', 'Balwner', 'Brice', 'Btisan']}
    
    raw_data_3 = {
            'subject_id': ['1', '2', '3', '4', '5', '7', '8', '9', '10', '11'],
            'test_id': [51, 15, 15, 61, 16, 14, 15, 1, 61, 16]}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    data1 = pd.DataFrame(raw_data_1, columns = ['subject_id', 'first_name', 'last_name'])
    data2 = pd.DataFrame(raw_data_2, columns = ['subject_id', 'first_name', 'last_name'])
    data3 = pd.DataFrame(raw_data_3, columns = ['subject_id','test_id'])
    
    • 1
    • 2
    • 3

    1.2 沿行拼接两个数据集

    # pandas.concat()通常用来连接DataFrame对象。默认情况下是对两个DataFrame对象进行纵向连接, 
    # 当然通过设置参数,也可以通过它实现DataFrame对象的横向连接。
    all_data = pd.concat([data1, data2])
    all_data
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    1.3 沿列拼接两个数据集

    all_data_col = pd.concat([data1, data2], axis = 1)
    all_data_col
    
    • 1
    • 2

    在这里插入图片描述

    1.4 按subject_id合并数据集

    pd.merge(all_data, data3, on='subject_id')
    
    • 1

    在这里插入图片描述

    1.5 仅合并在 data1 和 data2 上具有相同“subject_id”的数据

    在这里插入图片描述
    在这里插入图片描述

    pd.merge(data1, data2, on='subject_id', how='inner')
    
    • 1

    在这里插入图片描述

    1.6 合并 data1 和 data2 中的所有值,并在可用的情况下使用来自两端的匹配记录。

    pd.merge(data1, data2, on='subject_id', how='outer')
    
    • 1

    在这里插入图片描述

    2.数据集2

    2.1 合并两个数据集

    cars = cars1.append(cars2)
    cars
    
    • 1
    • 2

    在这里插入图片描述

    2.2 创建一个从 15,000 到 73,000 的随机数序列。

    nr_owners = np.random.randint(15000, high=73001, size=398, dtype='l')
    nr_owners
    
    • 1
    • 2
  • 相关阅读:
    DragGAN应运而生,未来在4G视频上都可能利用拖拽式编辑
    潜藏10年的恶意软件被发现;利用漏洞在K8S上挖矿;AWS、Google和Azure 出现信息泄露危机 | 安全周报0419
    05.SpringBoot依赖管理你学会了吗
    C#获取http请求的JSON数据并解析
    Windows 驱动开发 新手入门(四)
    LeetCode-剑指68-II.二叉树的最近公共祖先
    金仓数据库 KingbaseGIS 使用手册(10. 地理编码处理功能参考)
    SpringCloud 配置管理:Nacos
    基于Vivado和Ego1的密码锁设计
    Spring和Spring Mvc整合详解
  • 原文地址:https://blog.csdn.net/weixin_44026026/article/details/126338295