[英]How can I select the last day of the month in a date column?
我有一个名为“日期”的列,其中包含一年中每一天的数据,我只想获取与该月最后一天对应的行,我该怎么做?
假设您使用的是 pandas,您可以使用日期时间 package来检查这一点。
由于某些月份的天数不同,我用它来检查第二天的日期,如果下一个日期的日期等于 1,那么我们所在的日期就是该月的最后一天。
from datetime import date, timedelta
import pandas
def check_last_month_day(day):
next_day = date.fromisoformat(day) + timedelta(days=1)
return next_day.day == 1
function 接收日期格式的字符串,从该字符串创建日期 object,然后在日期中添加一天。 执行此操作后,它只返回一个 boolean 来检查下一个日期的日期是否等于 1。例如:
>>> check_last_month_day('2020-01-30')
False
>>> check_last_month_day('2020-01-31')
True
因此,现在您可以使用此 function 过滤 dataframe 行:(假设您将 dataframe 命名为 df)
df_filtered = df[ df['date'].apply(check_last_month_day) ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.