[英]How to extract months between two dates?
(使用 python)我想提取兩個日期之間的月份並將它們放入另一個列表或 dataframe。日期位於不同的列中,分別命名為“開始日期”和“結束日期”。
我試過以下。
df3.apply(lambda x: pd.date_range(x.df3['startdate'],x.df3['enddate'], freq='MS').strftime("%Y%m"))
columns'startdate' looks like 2010-12-31,
columns 'enddate' looks like 2011-04-12,
我想要這樣的東西:
2010-12
2011-01
2011-02
2011-03
2011-04
你能幫我解決這個問題嗎?
Is.dt.month 你在找什么?
pd.to_datetime(df['startdate']).dt.month
pd.to_datetime(df['enddate']).dt.month
嘗試這個。 下面的代碼將檢索下個月的天數並增加開始日期。
from datetime import datetime, timedelta
from calendar import monthrange
def months():
start_date = datetime.strptime("2010-12-31", "%Y-%m-%d")
end_date = datetime.strptime("2011-04-12", "%Y-%m-%d")
while start_date < end_date:
print (start_date.strftime("%Y-%m"))
days = monthrange(start_date.year, start_date.month + 1 if start_date.month < 12 else 1)[1]
start_date = start_date + timedelta(days=days)
print (end_date.strftime("%Y-%m"))
months()
Output
2010-12
2011-01
2011-02
2011-03
2011-04
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.