'How to print specific datetime from time array in python?
I am trying to write a code that picks up those arrays that has a time of fewer than 8 hours. I am working with .cdf files. I converted .cdf file into array. I cannot use functions like dt.hour since my object type of time_array is numpy.ndarray
My datetime array looks something like this:
[datetime.datetime(1997, 1, 1, 0, 38, 12, 652000)
datetime.datetime(1997, 1, 1, 0, 52, 23, 468000)
datetime.datetime(1997, 1, 1, 1, 11, 51, 868000)
datetime.datetime(1997, 1, 1, 2, 37, 42, 948000)
datetime.datetime(1997, 1, 1, 2, 38, 25, 820000)
datetime.datetime(1997, 1, 1, 3, 8, 30, 308000)
datetime.datetime(1997, 1, 1, 4, 56, 7, 51000)
datetime.datetime(1997, 1, 1, 6, 38, 21, 979000)
datetime.datetime(1997, 1, 2, 3, 49, 34, 943000)
datetime.datetime(1997, 1, 2, 4, 37, 25, 158000)
datetime.datetime(1997, 1, 2, 6, 30, 31, 262000)
datetime.datetime(1997, 1, 2, 7, 32, 22, 726000)
datetime.datetime(1997, 1, 2, 8, 58, 9, 942000)
datetime.datetime(1997, 1, 2, 9, 22, 30, 717000)
datetime.datetime(1997, 1, 2, 9, 29, 43, 301000)
datetime.datetime(1997, 1, 2, 9, 48, 54, 589000)
datetime.datetime(1997, 1, 2, 15, 2, 4, 852000)
datetime.datetime(1997, 1, 2, 16, 40, 29, 780000)
datetime.datetime(1997, 1, 2, 16, 53, 21, 292000)
datetime.datetime(1997, 1, 2, 17, 23, 6, 92000)
datetime.datetime(1997, 1, 2, 17, 48, 52, 60000)
datetime.datetime(1997, 1, 2, 23, 14, 15, 931000)
datetime.datetime(1997, 1, 3, 0, 13, 37, 618000)
datetime.datetime(1997, 1, 3, 0, 26, 11, 650000)
datetime.datetime(1997, 1, 3, 1, 30, 59, 18000)
datetime.datetime(1997, 1, 3, 2, 13, 29, 994000)
datetime.datetime(1997, 1, 3, 2, 25, 36, 978000)
datetime.datetime(1997, 1, 3, 4, 10, 3, 650000)
datetime.datetime(1997, 1, 3, 5, 7, 11, 17000)
datetime.datetime(1997, 1, 3, 6, 33, 45, 521000)
datetime.datetime(1997, 1, 3, 9, 14, 53, 616000)
datetime.datetime(1997, 1, 3, 13, 0, 33, 992000)
datetime.datetime(1997, 1, 3, 19, 44, 38, 198000)
datetime.datetime(1997, 1, 4, 1, 48, 30, 901000)
datetime.datetime(1997, 1, 4, 2, 4, 34, 141000)
datetime.datetime(1997, 1, 4, 4, 19, 17, 813000)
datetime.datetime(1997, 1, 4, 7, 8, 27, 988000)
datetime.datetime(1997, 1, 4, 20, 7, 0, 985000)]
I want to print test_array for every 8 hour, which contains value associated with the time respectively. I was thinking of write a if statement such that I compare time less than 8 hour and print test_array.
For example I want test_array data associated with these time:
[datetime.datetime(1997, 1, 1, 0, 38, 12, 652000)
datetime.datetime(1997, 1, 1, 0, 52, 23, 468000)
datetime.datetime(1997, 1, 1, 1, 11, 51, 868000)
datetime.datetime(1997, 1, 1, 2, 37, 42, 948000)
datetime.datetime(1997, 1, 1, 2, 38, 25, 820000)
datetime.datetime(1997, 1, 1, 3, 8, 30, 308000)
datetime.datetime(1997, 1, 1, 4, 56, 7, 51000)
datetime.datetime(1997, 1, 1, 6, 38, 21, 979000)]
My code for the following problem is as follows:
time_cdf=cdf['EPOCH']
time_array=np.array(time_cdf)
if (time_array.all() < datetime.datetime(1997,1,1,8,0,0,0)):
print(time_array)
After running the code, it returns nothing. How can I resolve it?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
