pandas 获取上一年份
在数据分析中,有时候我们需要获取上一年的日期数据,以便进行对比分析或者其他操作。Pandas 是一个强大的数据分析工具,它提供了方便的日期处理功能,可以帮助我们快速地获取上一年的日期数据。
方法一:使用 Pandas 的 date_range 方法
Pandas 的 date_range
方法可以方便地生成一段日期范围,并且可以通过 offset
参数来指定日期范围的步长。我们可以利用这个方法来获取上一年的日期范围。
import pandas as pd
# 获取当前日期
current_date = pd.Timestamp('now').normalize()
# 获取上一年的日期范围
last_year_date_range = pd.date_range(start=current_date - pd.DateOffset(years=1), end=current_date - pd.DateOffset(days=1))
# 将日期范围转换为 DataFrame
last_year_df = pd.DataFrame(last_year_date_range, columns=['date'])
print(last_year_df)
运行以上代码,我们可以得到上一年的日期范围:
date
0 2021-01-01
1 2021-01-02
2 2021-01-03
3 2021-01-04
4 2021-01-05
... ...
360 2021-12-27
361 2021-12-28
362 2021-12-29
363 2021-12-30
364 2021-12-31
[365 rows x 1 columns]
上面的代码首先获取当前日期,然后利用 pd.DateOffset(years=1)
来获取上一年的日期范围。最后将日期范围转换成 DataFrame,方便我们进行后续的数据分析操作。
方法二:使用 Python 的 datetime 模块
除了使用 Pandas 的方法外,我们还可以使用 Python 的 datetime 模块来获取上一年的日期范围。以下是使用 datetime 模块的示例代码:
from datetime import datetime, timedelta
# 获取当前日期
current_date = datetime.now()
# 获取上一年的日期范围
last_year_date_range = [current_date - timedelta(days=i) for i in range(365)]
# 将日期范围转换为 DataFrame
last_year_df = pd.DataFrame(last_year_date_range, columns=['date'])
print(last_year_df)
运行以上代码,我们同样可以得到上一年的日期范围。不过需要注意的是,使用 datetime 模块时需要手动计算日期范围,相对而言略显繁琐。
无论是使用 Pandas 的方法还是 Python 的 datetime 模块,都可以帮助我们快速地获取上一年的日期数据,方便我们进行数据分析和处理。