Вы можете использовать логический массив для индексации data
:
import numpy as np
import datetime as dt
dates=[dt.date(2010,1,1)+dt.timedelta(days=i) for i in range(365)]
values=range(365)
data=np.array(zip(dates,values),dtype=[('dates','object'),('value','<f8')])
(data['dates']>=dt.date(2010,9,1)) & (data['dates']<dt.date(2010,10,1))
- это логический массив той же длины, что и data
, то есть True
для всех дат в сентябре:
print(data['value'][(data['dates']>=dt.date(2010,9,1)) &
(data['dates']<dt.date(2010,10,1))])