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

如何在Python/Pandas中基于年月分组统计计数生成特征列

Pandas 实现人员月度记录数统计方案

前置依赖

需要提前确保已经安装pandas库,代码中首先导入依赖:

import pandas as pd

实现步骤

  • 第一步:日期格式转换
    先将原始DataFrame的date列转换为pandas的datetime类型,方便后续时间维度计算:

    # 假设原始数据存储在变量df中
    df['date'] = pd.to_datetime(df['date'])
    
  • 第二步:生成年月标识列
    按照要求的MM-YYYY格式生成年月维度字段:

    df['year_month'] = df['date'].dt.strftime('%m-%Y')
    
  • 第三步:分组统计并转换为宽表
    按人员、年月分组统计记录数,再将年月转为列,无记录的月份填充为0:

    result = df.groupby(['Person', 'year_month'])['date'].count() \
               .unstack(fill_value=0) \
               .reset_index()
    

特殊场景适配:补全全量月份

如果需要覆盖完整的5个统计周期(哪怕某个月没有任何人员的记录,也要保留对应列),可以额外生成全量年月列表做列索引补全:

# 生成统计范围内所有的年月列表(按时间顺序排列)
all_months = pd.date_range(
    start=df['date'].min(), 
    end=df['date'].max(), 
    freq='MS' # 按月初频率取数
).strftime('%m-%Y').tolist()

# 补全所有月份列
result = result.reindex(columns=['Person'] + all_months, fill_value=0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:36:03