Python Pandas 时间日期处理进阶:比较、过滤与运算

落日邮差
落日邮差
发布时间:2026-10-13| 3人浏览过
原创

本文介绍 Python Pandas 中时间日期的进阶处理方法,涵盖日期格式转换、基于时间的数据过滤与提取、星期几的判断(含名称与数字量化)、日期加减运算以及判断月末、月初和闰年等常用技巧。

在上一篇关于时间日期处理的入门文章中,我们简要介绍了 Pandas 中时间日期的基本操作。本文将在此基础上,补充一些常用的进阶处理方法。

时间日期的比较与过滤

时间日期的比较

假设我们有一个数据集 df,其结构如下所示。


在进行时间日期的比较之前,必须先对数据进行格式转换。

转换格式时,使用以下方法:


import pandas as pd
pd.to_datetime()

我们需要先将 df 数据集中的 date 列转换为时间格式。


df['date']=pd.to_datetime(df['date'])

转换完成后,可以输出数据集的数据类型以进行检查。


print df.info()

如红框所示,date 列的数据类型已转换为 datetime64[ns],此时即可对日期进行大小判断。

1. 过滤某个时间片的数据 & 取某个时间片的数据

假设我们需要从数据集 df 中剔除 6 月 10 日之后的样本。


df[df['date']<=pd.datetime(2016,6,10)]


当然,如果我们需要提取某个特定时间片的数据,只需使用等号即可。

判断日期与星期几

2. 判断某个日期是周几

假如在数据集 df 中,我们需要为日期添加“今天是周几”的信息,可以这样做:


pd.to_datetime(df['date']).dt.weekday_name

有时候,我们只需要一个数字来量化周几,只需稍作修改:

复制代码

代码如下:

pd.to_datetime(df['date']).dt.weekday


日期的加减运算

3. 对日期做加减法。

有时,我们需要对日期进行年、月、日等时间维度的增减。此时,可以按以下方式操作:

首先,我们需要导入一个新的库。


import dateutil

1. 对日期进行增减

假如我们需要对 2016 年 3 月 1 日增加一天。


pd.datetime(2016,3,1)+dateutil.relativedelta.relativedelta(days=1)

如果需要将日期减少一天,只需将 + 号改为 - 号即可。

如果需要对年、月,甚至时、分、秒进行增减,变量名分别如下:


years
months
days
hours
minutes
seconds

判断月末、月初与闰年

2. 判断增减后的日期是否为当月最后一天 & 开始的一天


pd.to_datetime(pd.datetime(2016,3,1)+dateutil.relativedelta.relativedelta(day=1)).is_month_start


判断是否为最后一天,将 start 改为 end 即可。


4. 判断是否为闰年


pd.to_datetime(pd.datetime(2016,1,1).is_leap_year


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。