I have a numpy array that looks like this:
>>> array_data
array([[datetime.datetime(2017, 10, 24, 1, 3, 45, 104000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 3, 47, 901000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 3, 56, 214000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 4, 8, 11000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 4, 13, 120000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 4, 15, 714000), 50, 4],
[datetime.datetime(2017, 10, 24, 1, 4, 16, 214000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 4, 27, 323000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 5, 13, 261000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 5, 56, 276000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 6, 0, 886000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 6, 38, 104000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 6, 38, 995000), 50, -1],
[datetime.datetime(2017, 10, 24, 1, 6, 42, 511000), 51, 5],
[datetime.datetime(2017, 10, 24, 1, 7, 4, 714000), 50, 5],
[datetime.datetime(2017, 10, 24, 1, 7, 12, 823000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 7, 17, 229000), 50, -1],
[datetime.datetime(2017, 10, 24, 1, 7, 45, 948000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 7, 56, 245000), 50, 1],
[datetime.datetime(2017, 10, 24, 1, 8, 10, 761000), 50, -1],
[datetime.datetime(2017, 10, 24, 1, 8, 21, 464000), 50, -3],
[datetime.datetime(2017, 10, 24, 1, 8, 21, 761000), 50, -1]], dtype=object)
If it's updated real-time, how can I select the latest minute of data whenever it's updated? For example, if current time was 2017, 10, 24, 1, 7, 17, 229000
, I want it to print out (50*5)+(50*1)+(50*-1), and if it was 2017, 10, 24, 1, 7, 45, 948000
, it will print out (50*5)+(50*1)+(50*-1)+(50*1).
I thought that I could extract the minute value of the latest-updated row whenever it's updated and make a loop that goes backwards and compare their minute values to each other until they are not the same. However, I think it will be resource-consuming when there are many rows within a minute and when the updating is faster than the loop procedure. Are there more effective ways to do this?