Select closest time to a certain hour in python pandas

Viewed 953

I'm looking to see if there is a way to select the closet time to a certain hour. I have the following. The file contains 10 years worth of data and I've narrowed it down to some time series that I'd want to keep.

import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plt
from matplotlib.pyplot import *
import datetime
import numpy as np

dateparse = lambda x: pd.datetime.strptime(x, "%d:%m:%Y %H:%M:%S")
aeronet = pd.read_csv('somefile', skiprows = 4, na_values = ['N/A'], parse_dates={'times':[0,1]}, date_parser=dateparse)
aeronet = aeronet.set_index('times')
del aeronet['Julian_Day']

aeronet.between_time('06:00:00', '07:00:00'), aeronet.between_time('12:00:00', '13:00:00')

I've selected a snippet of such. Is there such a way to select just the closest to time to 06 or 12 and it contents and discard/ignore the rest from the pandas series, and do this for the entirety of the file?

times                AOT_1640  AOT_1020  AOT_870   AOT_675    AOT_667   AOT_555 ...
2000-08-07 06:49:10       NaN  0.380411  0.406041  0.445789      NaN      NaN   
2000-08-07 06:57:36       NaN  0.353378  0.377769  0.420168      NaN      NaN   
2000-08-08 06:31:00       NaN  0.322402  0.338164  0.364679      NaN      NaN   
2000-08-08 06:33:28       NaN  0.337819  0.353995  0.381201      NaN      NaN   
2000-08-08 06:36:26       NaN  0.347656  0.361839  0.390342      NaN      NaN   
2000-08-08 06:51:50       NaN  0.306449  0.325672  0.351885      NaN      NaN   
2000-08-08 06:54:23       NaN  0.336512  0.355386  0.380230      NaN      NaN   
2000-08-08 06:57:20       NaN  0.330028  0.345679  0.373780      NaN      NaN   
2000-08-09 06:34:56       NaN  0.290533  0.306911  0.336597      NaN      NaN   
2000-08-09 06:41:53       NaN  0.294413  0.311553  0.343473      NaN      NaN   
2000-08-09 06:49:45       NaN  0.311042  0.332054  0.360999      NaN      NaN   
2000-08-09 06:52:15       NaN  0.319396  0.339932  0.369617      NaN      NaN   
2000-08-09 06:55:20       NaN  0.327440  0.349084  0.378345      NaN      NaN   
2000-08-09 06:58:23       NaN  0.323247  0.345273  0.373879      NaN      NaN   
2000-08-12 06:30:01       NaN  0.465173  0.471528  0.483079      NaN      NaN   
2000-08-12 06:33:05       NaN  0.460013  0.465674  0.479500      NaN      NaN   
2000-08-12 06:35:59       NaN  0.433161  0.438488  0.453779      NaN      NaN   
2000-08-12 06:42:12       NaN  0.406479  0.415580  0.432160      NaN      NaN   
2000-08-12 06:50:06       NaN  0.414227  0.424330  0.439448      NaN      NaN   
2000-08-12 06:57:21       NaN  0.396034  0.404258  0.423866      NaN      NaN   
2000-08-12 06:59:47       NaN  0.372097  0.380798  0.401600      NaN      NaN 
[6200 rows x 42 columns]

...

times                AOT_1640  AOT_1020  AOT_870   AOT_675    AOT_667   AOT_555 ...
2000-01-01 12:23:54       NaN  0.513307  0.557325  0.653497      NaN      NaN   
2000-01-03 12:24:49       NaN  0.439142  0.494118  0.593997      NaN      NaN   
2000-01-03 12:39:49       NaN  0.429130  0.477874  0.577334      NaN      NaN   
2000-01-03 12:54:48       NaN  0.437720  0.489006  0.586224      NaN      NaN   
2000-01-04 12:10:30       NaN  0.325203  0.362335  0.426348      NaN      NaN   
2000-01-04 12:25:15       NaN  0.323978  0.356274  0.423620      NaN      NaN   
2000-01-04 12:40:15       NaN  0.325356  0.361138  0.427271      NaN      NaN   
2000-01-04 12:55:14       NaN  0.326595  0.363519  0.431527      NaN      NaN   
2000-01-06 12:11:08       NaN  0.282777  0.307676  0.369811      NaN      NaN   
2000-01-06 12:26:09       NaN  0.285853  0.314178  0.374832      NaN      NaN   
2000-01-06 12:41:08       NaN  0.258836  0.289263  0.346880      NaN      NaN   
2000-01-08 12:12:04       NaN  0.165473  0.185018  0.235770      NaN      NaN   
2000-01-08 12:42:01       NaN  0.143540  0.164647  0.216335      NaN      NaN   
2000-01-08 12:57:01       NaN  0.142760  0.164886  0.215461      NaN      NaN   
2000-01-10 12:12:52       NaN  0.192453  0.225909  0.310540      NaN      NaN   
2000-01-10 12:27:53       NaN  0.202532  0.238400  0.322692      NaN      NaN   
2000-01-10 12:42:52       NaN  0.199996  0.235561  0.320756      NaN      NaN   
2000-01-10 12:57:52       NaN  0.208046  0.245054  0.331214      NaN      NaN   
2000-01-11 12:13:19       NaN  0.588879  0.646470  0.750459      NaN      NaN   
2000-01-11 12:28:17       NaN  0.621813  0.680442  0.788457      NaN      NaN   
2000-01-11 12:43:17       NaN  0.626547  0.685880  0.790631      NaN      NaN   
2000-01-11 12:58:16       NaN  0.631142  0.689125  0.796060      NaN      NaN   
2000-01-12 12:28:42       NaN  0.535105  0.584593  0.688904      NaN      NaN   
2000-01-12 12:43:41       NaN  0.518697  0.571025  0.676406      NaN      NaN   
2000-01-12 12:58:40       NaN  0.528318  0.583229  0.687795      NaN      NaN   
2000-01-13 12:14:20       NaN  0.382645  0.419463  0.496089      NaN      NaN   
2000-01-13 12:29:05       NaN  0.376186  0.414921  0.491920      NaN      NaN   
2000-01-13 12:44:05       NaN  0.387845  0.424576  0.501968      NaN      NaN   
2000-01-13 12:59:04       NaN  0.386237  0.423254  0.503163      NaN      NaN   
2000-01-14 12:14:43       NaN  0.400024  0.425522  0.485719      NaN      NaN   

[6672 rows x 42 columns])

Such a way that the aeronet dataframe looks similar to this when I print it out? I'm hoping to either still do some calculation with it still or export it to excel.

times                AOT_1640  AOT_1020  AOT_870   AOT_675    AOT_667   AOT_555 ...
2000-08-07 06:49:10       NaN  0.380411  0.406041  0.445789      NaN      NaN
2000-08-08 06:31:00       NaN  0.322402  0.338164  0.364679      NaN      NaN 
2000-08-09 06:34:56       NaN  0.290533  0.306911  0.336597      NaN      NaN  
2000-08-12 06:30:01       NaN  0.465173  0.471528  0.483079      NaN      NaN 
....
2000-01-01 12:23:54       NaN  0.513307  0.557325  0.653497      NaN      NaN  
2000-01-03 12:24:49       NaN  0.439142  0.494118  0.593997      NaN      NaN 
2000-01-04 12:10:30       NaN  0.325203  0.362335  0.426348      NaN      NaN   
2000-01-06 12:11:08       NaN  0.282777  0.307676  0.369811      NaN      NaN 
2000-01-08 12:12:04       NaN  0.165473  0.185018  0.235770      NaN      NaN   
2000-01-10 12:12:52       NaN  0.192453  0.225909  0.310540      NaN      NaN  
2000-01-11 12:13:19       NaN  0.588879  0.646470  0.750459      NaN      NaN  
2000-01-12 12:28:42       NaN  0.535105  0.584593  0.688904      NaN      NaN  
2000-01-13 12:14:20       NaN  0.382645  0.419463  0.496089      NaN      NaN   
2000-01-14 12:14:43       NaN  0.400024  0.425522  0.485719      NaN      NaN   
2 Answers
Related