pandas 获取季度,月度,年度首尾日期的方法

yipeiwu_com7年前Python基础

可实现类似于sql中的dateadd、datesub的功能

两种获取日期的方式

z=datetime.datetime(2016,12,5)
z=datetime.datetime.strptime('20150112','%Y%m%d')

for x in ['01','02','03','04','05','06','07','08','09','10','11','12']:
 d='2015'+x+'12'
 z=datetime.datetime.strptime(d,'%Y%m%d')#当天
 z1=z+pd.tseries.offsets.DateOffset(days=1-z.day)#当月第一天
 z2=z+pd.tseries.offsets.DateOffset(months=1,days=-z.day)#当月最后一天
 x1 = z + pd.tseries.offsets.DateOffset(months=-((z.month - 1) % 3), days=1 - z.day) # 当季第一天
 x2 = z + pd.tseries.offsets.DateOffset(months=3 - ((z.month - 1) % 3), days=-z.day) # 当季最后一天
 y1 = z + pd.tseries.offsets.DateOffset(months=1 - z.month, days=1 - z.day) # 当年第一天
 y2 = z + pd.tseries.offsets.DateOffset(years=1,months=1 - z.month, days= - z.day) # 当年最后一天
 
print(d,':','月:',z1,z2,'季:',x1,x2)
print(y1.strftime("%Y-%m-%d"),y2.strftime("%Y-%m-%d"))

当月最后一天=当月第一天+1月-1天

当季最后一天=当季第一天+3月-1天

当年最后一天=当年第一天+1年-1天

今天前一天:

datetime.datetime.now()+pd.tseries.offsets.DateOffset(days=-1)

今天星期几:

datetime.datetime.now().weekday()

生成时间序列:

start = datetime.datetime.strptime('2018-01-01', '%Y-%m-%d')
end = datetime.datetime.strptime('2018-01-08', '%Y-%m-%d')
for x in pd.date_range(start,end,freq="3D"): #50min等
 print(x.strftime('%Y%m%d'))

以上这篇pandas 获取季度,月度,年度首尾日期的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python3实现的简单工资管理系统示例

本文实例讲述了Python3实现的简单工资管理系统。分享给大家供大家参考,具体如下: 工资管理系统要求: 1. 查询员工工资 2. 修改员工工资 3. 增加新员工记录 4. 退出 执行代...

Python手机号码归属地查询代码

Python手机号码归属地查询代码

简单的一个例子,是以前用Dephi写的,前不久刚实现了一个在Python中使用Delphi控件来编写界面程序,于是趁热写一个类似的的查询方案。 本实例是通过www.ip138.com这...

python3使用matplotlib绘制条形图

python3使用matplotlib绘制条形图

本文实例为大家分享了python3使用matplotlib绘制条形图的具体代码,供大家参考,具体内容如下 绘制竖状条形图 代码 from matplotlib import pyp...

Python排序搜索基本算法之冒泡排序实例分析

Python排序搜索基本算法之冒泡排序实例分析

本文实例讲述了Python排序搜索基本算法之冒泡排序。分享给大家供大家参考,具体如下: 冒泡排序和选择排序类似,也是第n次把最小的元素排在第n的位置上,也是该元素的绝对位置,只是冒泡排序...

Python转码问题的解决方法

比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').encode('utf-8′) 可是,在实际开发中,我发现,这种办法经常会出...