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

如何用Pandas从CSV中获取指定日期区间内TOP10高频OFFENCE_CODE?

按指定日期范围统计高频违规代码

你需要在现有代码基础上添加日期范围筛选逻辑,以下是修改后的完整代码:

import pandas as pd

# 修正日期写法,转成pandas可识别的日期类型
input_date1 = pd.to_datetime('2012/11/1')
input_date2 = pd.to_datetime('2013/11/1')

# 读取CSV时直接将日期列解析为日期类型
df = pd.read_csv(
    "penalty_data_set.csv",
    usecols=['OFFENCE_CODE', 'OFFENCE_MONTH'],
    parse_dates=['OFFENCE_MONTH']
)

# 筛选出指定日期范围内的数据
filtered_df = df[(df['OFFENCE_MONTH'] >= input_date1) & (df['OFFENCE_MONTH'] <= input_date2)]

# 统计筛选后出现频率最高的前10个违规代码
print(filtered_df['OFFENCE_CODE'].value_counts().nlargest(10))

关键改动说明:

  • 修正日期变量:原始代码中2012/11/1是非法Python语法,改为字符串后用pd.to_datetime()转为标准日期类型,支持后续范围比较
  • 解析日期列:读取CSV时通过parse_dates参数直接处理OFFENCE_MONTH列,避免后续手动转换格式
  • 添加日期筛选:用布尔索引精准过滤出目标日期区间内的数据
  • 基于筛选结果统计:仅对符合日期条件的记录进行违规代码频率统计,确保结果范围准确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:50:28