为了通过近两个月的日期作为index,制作pandas库的DataFrame,因此我需要分别获取近两个月的天数,再用pandas.data_range(start, end, periods)生成近两个月的表头。
有两种思路:
1)获取两个月的起始与结束日期;
2)获取两个月的起始日期和天数。
天数其实就是基于起始和结束日期所得,因此用思路(1)更方便。
据我所知,python有三个处理时间、日期的库:time、calendar、datetime
导入这三个时间库
以及pandas库
import time, datetime, calendar
import pandas as pd
- 首先获取本月的年月
this_year = datetime.datetime.now().year
this_month = datetime.datetime.now().month
- 获取本月的始末日期
this_first_day = datetime.date(this_year, this_month, 1) # 本月第一天
this_today = time.strftime("%Y-%m-%d", time.localtime()) # 今天
- 获取上月的结束日期
prev_last_day = this_first_day - datetime.timedelta(days=1) #上月最后一天
- 通过上月最后一天获取上月的天数
prev_periods = prev_last_day.day
- 获取近两个月的日期索引
this_dates = pd.date_range(start=this_first_day, end=this_today) # 本月日期索引
prev_dates = pd.date_range(end=prev_last_day, periods=prev_periods) # 上月日期索引
- index结果