[英]pandas Grouper by month aggregation returns previous month as datetime index
[英]Previous month datetime pandas
我有一个 datetime 实例声明如下:
dtDate = datetime.datetime(2016,1,1,0,0)
如何从dtDate
获取上个月和上一年?
例如:
dtDate.minusOneMonth()
# to return datetime.datetime(2015,12,1,0,0)
您可以使用:
dtDate = datetime.datetime(2016,1,1,0,0)
print (dtDate - pd.DateOffset(months=1))
2015-12-01 00:00:00
print (dtDate - pd.DateOffset(years=1))
2015-01-01 00:00:00
添加s
很重要,因为如果只使用year
:
print (dtDate - pd.DateOffset(year=1))
0001-01-01 00:00:00
您可以使用DateOffset
:
In [32]:
dtDate = dt.datetime(2016,1,1,0,0)
dtDate - pd.DateOffset(months=1)
Out[32]:
Timestamp('2015-12-01 00:00:00')
使用relativedelta
从dateutil
:
import datetime
import dateutil.relativedelta
dtDate = datetime.datetime(2016,1,1,0,0)
# get previous month
print ((dtDate+dateutil.relativedelta.relativedelta(months=-1)).month)
# get previous year
print ((dtDate+dateutil.relativedelta.relativedelta(years=-1)).year)
输出:
12
2015
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.