【问题标题】:Exclude specific dates from date range - Python从日期范围中排除特定日期 - Python
【发布时间】:2020-07-09 06:32:26
【问题描述】:

我试图从日期范围中排除特定日期,但没有得到有效的输出,下面是代码。请您帮忙解决一下。

from datetime import timedelta, date

sdate = date(2020, 7, 1)
edate = date(2020, 7, 7)
delta = edate - sdate

toRemoveDate = [date(2020, 7, 6), date(2020, 7, 2)]

for i in range(delta.days + 1):
    day = sdate + timedelta(days=i)
    print(day)

    for j in range(len(toRemoveDate)):
        if day != toRemoveDate[j]:
            print(day)

谢谢, 阿南德

【问题讨论】:

    标签: python arrays date range delta


    【解决方案1】:

    试试这个,

    from datetime import timedelta, date
    
    sdate = date(2020, 7, 1)
    edate = date(2020, 7, 7)
    delta = edate - sdate
    
    toRemoveDate = [date(2020, 7, 6), date(2020, 7, 2)]
    
    for i in range(delta.days + 1):
        day = sdate + timedelta(days=i)
        if day not in toRemoveDate: # <-- check if day not in list
            print(day)
    

    【讨论】:

      【解决方案2】:

      试试 .drop()

      from datetime import timedelta, date
      import pandas as pd
      
      sdate = date(2020, 7, 1)
      edate = date(2020, 7, 7)
      range = pd.date_range(start=str(sdate), end=str(edate))
      toRemoveDate = [date(2020, 7, 6), date(2020, 7, 2)] 
      days = range.drop(toRemoveDate)
      print(days)
      

      【讨论】:

        猜你喜欢
        • 2013-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-05
        • 2022-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多