将同一借据号对应的两条紧急联系人信息组装成一条记录

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

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

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

实现代码:

#!/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)

转载于:https://www.cnblogs.com/everfight/p/pandas_merge.html

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值