pandas 日期列解析
616 字
3 分钟
pandas 日期列解析
pandas 日期列解析
日期列是很多分析的时间轴。只要日期解析错,按月统计、时间筛选、滑动窗口都会跟着错。
实际数据里常见的问题包括格式混用、空字符串、Excel 序列号、中文日期和时区信息。我的做法是先解析,再统计失败样本。
基础解析
df["date"] = pd.to_datetime(df["date"], errors="coerce")print(df["date"].isna().sum())print(df.loc[df["date"].isna(), "date"].head())errors="coerce" 适合排查,因为它不会让程序直接中断,而是把失败值变成 NaT。但后面必须检查失败数量。
格式混用时怎么处理
如果一列里同时有 2026-05-15、2026/5/15、2026年5月15日,可以先统一替换中文字符和分隔符,再解析。
s = ( df["date"].astype(str) .str.strip() .str.replace("年", "-", regex=False) .str.replace("月", "-", regex=False) .str.replace("日", "", regex=False))df["date"] = pd.to_datetime(s, errors="coerce")按时间分析前的检查
-
最小日期和最大日期是否合理。
-
是否出现大量未来日期或 1970 年。
-
时间列是否有重复或缺失。
-
是否需要先设置为索引再 resample。
按月统计示例
monthly = ( df.dropna(subset=["date"]) .set_index("date") .resample("ME")["amount"] .sum())print(monthly.tail())实战复盘
复用《pandas 日期列解析》时,不要只复制代码块。先把自己的字段名、数据口径和异常规则写出来,再替换示例里的列名。pandas 的函数很通用,但业务字段的含义不能自动迁移。
每次处理完成后,我会抽样看几条原始记录和处理后记录。尤其是日期、金额、分类字段,机器统计和肉眼抽查要一起做,才能发现格式看似正常但含义错位的问题。
这类文章后续可以继续补充真实小表格作为输入示例。输入、处理、输出三者都出现,教程才不会变成只解释 API。
最小验收样例
验收《pandas 日期列解析》时,我会手写一个三到五行的小 DataFrame:一行正常数据,一行缺失或异常数据,一行边界数据。先让示例在小表上跑通,再换成完整数据集。
小表的好处是结果可以人工计算。只要人工结果和 pandas 输出对不上,就说明代码逻辑或字段口径还没想清楚。这个过程比直接在大表上调试更可靠。
小结
日期列解析要先暴露失败值,再做时间统计。不要让 NaT 和错误年份悄悄进入分析结果。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
pandas 缺失值处理
数据分析记录 pandas 中缺失值检查、删除、填充和简单统计的常用写法。
2
pandas 分析报告流程
数据分析整理从原始数据到 pandas 分析报告的完整流程,强调可复查和可交付。
3
pandas 交叉表统计
数据分析记录 pandas crosstab 交叉表的用法,用于分析两个分类变量之间的关系。
4
pandas 抽样检查数据
数据分析说明如何用 pandas 抽样检查数据,避免只看 head 带来的偏差。
5
pandas 导出 Excel 笔记
数据分析记录 pandas 导出 Excel 时多 sheet、索引、列宽和结果复核的常用做法。
随机文章随机推荐













