Pandas resample函数生成原DataFrame不存在日期问题求助
解决重采样出现异常日期的问题
- 问题根源大概率是日期字段解析错误:Pandas自动识别日期格式时,把原数据里的日/月搞反,导致部分1月的日期被误判为12月(比如原数据是
12/01/2019,被当成01/12/2019即12月1日)。
具体解决步骤:
检查并转换日期类型
先确认fecha_solicitud是不是datetime类型,不是的话按正确格式强制转换:# 假设原日期格式是DD/MM/YYYY HH:MM,根据实际情况调整format参数 df['fecha_solicitud'] = pd.to_datetime(df['fecha_solicitud'], format='%d/%m/%Y %H:%M', errors='coerce') # errors='coerce'会把解析失败的日期设为NaT,之后可以删掉这些无效行 df = df.dropna(subset=['fecha_solicitud'])严格筛选2019年1月的数据
转换日期后,再过滤一遍确保只保留目标月份的数据:df = df[(df['fecha_solicitud'].dt.year == 2019) & (df['fecha_solicitud'].dt.month == 1)]重新执行重采样操作
把日期设为索引后再重采样:# 先筛选站点271的数据 df_station_271 = df[df['Ciclo_Estacion_Retiro'] == 271] # 重采样统计数量 resampled_data = df_station_271.set_index('fecha_solicitud').resample('30T').size()
这样操作后,重采样结果就不会出现2019年12月的异常日期了。
内容的提问来源于stack exchange,提问作者JorgeChiles
相关产品推荐
相关产品推荐

