N186_五险一金按名字和身份证汇聚(单表)

%%time
import pandas as pd
import numpy as np
df = pd.read_excel("N186数据源.xlsx")
df['身份证']=df['身份证'].apply(lambda x:"|"+str(x))
df.head(2)
CPU times: total: 46.9 ms
Wall time: 41.9 ms
期间科室编号科室名称员工编号姓名身份证医保养保编外养保编内公积金失保职业年金医疗互助代缴公积金补缴公积金代缴医保代缴大病互助
0201601601办公室101小白01|43280119990309402068.75NaN103.1241234.37NaN50412NaNNaNNaN
1201601602办公室102小白02|43280119990309402169.75NaN104.1241335.37NaN51413NaNNaNNaN
df_zong=pd.pivot_table(df, index=["科室编号","科室名称","员工编号","姓名","身份证"], values=["医保","养保编外","养保编内","公积金","失保","职业年金","医疗互助","代缴公积金","补缴公积金","代缴医保","代缴大病互助"],
                     margins=False, aggfunc=[np.sum])
# 最后,要扁平化MultiIndex列,我们可以只连接元组中的值:拉平列标题
df_zong.columns = [('_'.join(col)).replace("sum_","") for col in df_zong.columns.values]
# 为了是下面的标题等同上面的
df_zong = df_zong.reset_index()
df_zong.to_excel("N186_五险一金按名字和身份证汇聚(单表).xlsx",index=0)
df_zong.head(2)
科室编号科室名称员工编号姓名身份证代缴公积金代缴医保代缴大病互助公积金养保编内养保编外医保医疗互助失保职业年金补缴公积金
0601办公室101小白01|4328011999030940208240.00.0824206.240.0137.510068.740.00.0
1602办公室102小白02|4328011999030940218260.00.0826208.240.0139.510270.740.00.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kafeihule

感谢老板

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值