检查是否是python的月底 [英] Check if it is the end of the month in python

查看:66
本文介绍了检查是否是python的月底的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写代码以获取去年的数据.我想这样汇总较早的日期:如果是2015年7月14日,则需要2014年8月1日至2015年7月14日的数据

I am writing code to take data from the last year. I want to round up the earlier date like so: If it is July 14 2015, I want data from August 1st 2014-July 14,2015

df = pd.read_csv('MyData.csv') 
df['recvd_dttm'] = pd.to_datetime(df['recvd_dttm'])
range_max = datetime.datetime.now() 
range_min = range_max - pd.tseries.offsets.DateOffset(years=1)+ pd.tseries.offsets.MonthEnd(1) + pd.tseries.offsets.DateOffset(days=1)
if datetime.datetime.now() == is_month_end:

# take slice with final week of data
df = df[(df['recvd_dttm'] >= range_min) & 
               (df['recvd_dttm'] <= range_max)]

我的问题是,当它是2015年7月31日时,我的代码将转到下一个月的月底,实际上是整个月的时间.

My problem is that when it is July 31, 2015, my code goes to the end of the next month, essentially cutting out an entire month.

我正在尝试创建一个for循环来解决此问题.

I am trying to make a for loop to fix this problem.

如果是月末:

range_min = range_max - pd.tseries.offsets.DateOffset(years=1)

其他:

range_min = range_max - pd.tseries.offsets.DateOffset(years=1)+ pd.tseries.offsets.MonthEnd(1) + pd.tseries.offsets.DateOffset(days=1)

我如何告诉python在月底检查?MonthEnd只是一个偏移函数.

How do I tell python to check for the end of the month? MonthEnd is only an offset function.

推荐答案

好的,这就是我所做的.找到BryanOakley建议的日历模块并进行此循环.它检查当前日期,并检查它是否与该月的最后一天相同,并相应地选择range_min.

Alright, here's what I did. Found the calendar module that BryanOakley suggested and made this loop. It checks the current day and checks if it is the same as the last day of the month, and chooses the range_min accordingly.

if datetime.datetime.now().day == calendar.monthrange(date.year, date.month)[1]:
    range_min = range_max - pd.tseries.offsets.DateOffset(years=1)+ pd.tseries.offsets.DateOffset(days=1)
else:
    range_min = range_max - pd.tseries.offsets.DateOffset(years=1)+ pd.tseries.offsets.MonthEnd(1) + pd.tseries.offsets.DateOffset(days=1)

这篇关于检查是否是python的月底的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆