zoukankan      html  css  js  c++  java
  • 将同一借据号对应的两条紧急联系人信息组装成一条记录

    今天接到数据组的一个需求:
    需要将同一借据号对应的两条紧急联系人信息组装成一条记录。
    原始数据如下:

    需要将上图两条记录合并成一条记录。然后两个紧急联系人的列名,分别变成紧急联系人1,紧急联系人2。

    基本思路:
    分析:因为两条记录其他信息都是重复的,只有最后三列是不同的。只需要将信息两条记录分拆成两个表格,重命名这三列,再合并一下就可以了。
    这样技能保证重复的地方合并为一条记录,不重复的地方分别占据三列了。

    实现代码:

    #!/usr/bin/env python3
    #encoding:utf-8
    import pandas as pd
    import numpy as np
    
    # 读取excel
    df = pd.read_excel('m020171205.xlsx')
    
    # 只保留第一项,并修改列名
    df_first = df.drop_duplicates(['借据号'],keep='first')
    df_first_rename = df_first.rename(columns={'紧急联系人电话': '紧急联系人1电话', '紧急联系人姓名': '紧急联系人1姓名', '紧急联系人关系': '紧急联系人1关系'})
    
    # 只保留第二项,并修改列名
    df_last = df.drop_duplicates(['借据号'],keep='last')
    df_last_rename = df_last.rename(columns={'紧急联系人电话': '紧急联系人2电话', '紧急联系人姓名': '紧急联系人2姓名', '紧急联系人关系': '紧急联系人2关系'})
    
    # merge合并,两个紧急联系人列名不同,不会合并
    pd.merge(df_first_rename,df_last_rename)
    
  • 相关阅读:
    Hibernate 笔记 之 三 基础优化方面
    Hibernate 笔记 之 二 查询
    Hibernate 笔记 之 一 创建与配置
    hibernate初次配置及测试
    CentOS 7.3 安装MySQL--Java--Tomcat
    Spring AOP:自动注入参数值
    Spring AOP:实现Request信息获取
    IntelliJ IDEA导出项目文档
    IntelliJ IDEA:Shortcut Key
    iText生成PDF
  • 原文地址:https://www.cnblogs.com/everfight/p/pandas_merge.html
Copyright © 2011-2022 走看看