You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas如何按person_id分组展示考勤数据的透视结果?

解决考勤数据透视后Excel导出可读性问题

你的问题出在透视后列层级的顺序上,默认生成的DataFrame列层级是[c_in/c_out, person_id],导致Excel里同一人的考勤项分散在不同分组下。调整列层级并优化导出设置即可解决:

步骤1:调整列层级顺序并排序

对透视后的DataFrame交换列层级,将person_id设为一级列标题,c_in/c_out作为二级标题,再按person_id排序列:

# 交换列的层级,把person_id移到第一层
df_att_pivoted = df_att_pivoted.swaplevel(axis=1)
# 按person_id排序,确保同一人的c_in和c_out相邻
df_att_pivoted = df_att_pivoted.sort_index(axis=1)

调整后的DataFrame列结构示例:

person_id    3                   4
          c_in                c_out                c_in                c_out
date
2023-07-01  2023-07-01 07:10:10  2023-07-01 17:20:10  2023-07-01 07:02:10  2023-07-01 17:50:10
2023-07-02  2023-07-02 07:07:10  2023-07-02 17:09:10  2023-07-02 07:08:10  2023-07-02 17:17:10

步骤2:优化Excel导出

导出时启用merge_cells=True,让同一person_id的一级列标题自动合并,进一步提升可读性:

df_att_pivoted.to_excel('考勤报表.xlsx', merge_cells=True)

这样导出的Excel中,每个人员的考勤数据会被清晰分组,视觉上一目了然。

内容的提问来源于stack exchange,提问作者farell ambiar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:17:30