Lets take the next reproducible example:
I have a numpy array with a sequence of
datetime.datetime
elements in an hourly frequency,From that array, I want to create a list
datesVect
which I want to be True fordatetimes
between Februrary and April and else False.
following the validated answer of this question and the explanation of the usage of list comprehension conditionals of this post I try to do it with the following code:
import numpy as np
import datetime
#Setting the startdate and creating the data range array:
startDate = datetime.datetime(2023,1,1)
dateHour = np.array([startDate + datetime.timedelta(0,3600*n) for n in range(8760)])
#Creating the desired list
datesVect = [True if j.month < 5 else True if j.month > 1 else False for j in dateHour]
Instead of getting the desired result I get a list full of True
values:
In [211]: all(datesVect)
Out[211]: True
Anyone knows why I don't get the desired result?