如何将DATE列转为datetime类型后按月分组统计事故数据?
实现步骤
1. 转换'DATE'列为datetime类型
使用pandas的to_datetime方法匹配你现有的MM/DD/YYYY日期格式完成转换,指定格式参数可提升转换效率、避免自动识别出错:
import pandas as pd df['DATE'] = pd.to_datetime(df['DATE'], format='%m/%d/%Y')
如果存在格式异常的日期值,可添加errors='coerce'参数将异常值转为空值(NaT)避免转换中断:
df['DATE'] = pd.to_datetime(df['DATE'], format='%m/%d/%Y', errors='coerce')
2. 将'DATE'列设置为数据集索引
调用set_index方法完成索引设置:
df = df.set_index('DATE')
3. 按月分组处理数据
使用pd.Grouper指定频率为月(freq='M')实现按自然月分组,可直接对接后续聚合逻辑:
# 生成按月分组对象 monthly_groups = df.groupby(pd.Grouper(freq='M')) # 示例:统计每个月的事故总数量 monthly_accident_cnt = monthly_groups.size() # 示例:统计每个月的伤亡人数总和(假设存在'INJURIES'列存储伤亡数) monthly_injuries_sum = monthly_groups['INJURIES'].sum()
内容的提问来源于stack exchange,提问作者amyungju
相关产品推荐
相关产品推荐

