如何使用Python查找和列出两个给定月份之间的月份

2024-06-29 01:11:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到两个月之间的月份列表

输入数据

Month1    Month2     Month_list
Mar2020   Dec2020
Nov2020   Jan2021
Sep2020   Feb2021
Jun2020   Dec2020
Oct2020   Mar2021

预期产出

Month1    Month2     Month_list

Mar2020   Sep2020    Mar2020,Apr2020,May2020,Jun2020,Jul2020,Aug2020,Sep2020
Nov2020   Jan2021    Nov2020,Dec2020,Jan2021
Sep2020   Feb2021    Sep2020,Oct2020,Nov2020,Dec2020,Jan2021,Feb2021
Oct2020   Dec2020    Oct2020,Nov2020,Dec2020
Dec2020   Mar2021    Dec2020,Jan2021,Feb2021,Mar2021

我一直在使用的代码段:

from datetime import datetime, timedelta
from collections import OrderedDict
dates = [df.Month1, df.Month2]
start, end = [datetime.strptime(_, "%Y-%m-%d") for _ in dates]

如何查找月份和年份的列表


Tags: 列表datetimelist月份monthmonth2month1jan2021
2条回答

使用^{}

我假设你已经分析了你的日期,因为你没有在你的问题中提到它。以下是您问题的部分解决方案:

>>> start = pd.to_datetime("Mar 2021")
>>> end = pd.to_datetime("Sep 2021")
>>> [d.strftime("%b %Y") for d in pd.date_range(start, end, freq="MS")]
['Mar 2021',
 'Apr 2021',
 'May 2021',
 'Jun 2021',
 'Jul 2021',
 'Aug 2021',
 'Sep 2021']

您可以使用应用程序-

def get_date_list(x):
    return ",".join(
        item.strftime("%b %Y")
        for item in pd.date_range(x['Month1'], x['Month2'], freq="MS")
    )
    
df['Month_list'] = df.apply(lambda x: get_date_list(x), axis=1)

相关问题 更多 >