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

yipeiwu_com6年前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设计】。

相关文章

Python决策树分类算法学习

Python决策树分类算法学习

从这一章开始进入正式的算法学习。 首先我们学习经典而有效的分类算法:决策树分类算法。 1、决策树算法 决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归。不...

使用Python制作一个打字训练小工具

使用Python制作一个打字训练小工具

一、写在前面   说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU。      别人眼中的程序员:飞快的敲击键盘、酷炫的切...

浅谈Python中带_的变量或函数命名

Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格。这...

python 筛选数据集中列中value长度大于20的数据集方法

如果我有一个数据集,他的某个列名下面的value很长,我们需要筛选出,所有列名中value值字符串大于20的数据集。 其实比较简单啦,一句代码就可以搞定 #对该列进行强制的字符类型转...

tensorflow TFRecords文件的生成和读取的方法

TensorFlow提供了TFRecords的格式来统一存储数据,理论上,TFRecords可以存储任何形式的数据。 TFRecords文件中的数据都是通过tf.train.Examp...