我有一个由DatetimeIndex索引的Pandas数据帧:
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 53732 entries, 1993-01-07 12:23:58 to 2012-12-02 20:06:23
Data columns:
Date(dd-mm-yy)_Time(hh-mm-ss) 53732 non-null values
Julian_Day 53732 non-null values
AOT_870 53732 non-null values
440-870Angstrom 53732 non-null values
440-675Angstrom 53732 non-null values
500-870Angstrom 53732 non-null values
Last_Processing_Date(dd/mm/yyyy) 53732 non-null values
Solar_Zenith_Angle 53732 non-null values
time 53732 non-null values
dtypes: datetime64[ns](2), float64(6), object(1)
Run Code Online (Sandbox Code Playgroud)
我想找到最接近某个时间的行:
image_time = dateutil.parser.parse('2009-07-28 13:39:02')
Run Code Online (Sandbox Code Playgroud)
并找出它的接近程度.到目前为止,我已经尝试了各种各样的事情,基于从所有时间减去我想要的时间并找到最小的绝对值的想法,但似乎没有一个似乎工作.
例如:
aeronet.index - image_time
Run Code Online (Sandbox Code Playgroud)
给出了一个错误,我认为是由于+/-对日期时间索引进行了转换,所以我尝试将索引放入另一列然后处理:
aeronet['time'] = aeronet.index
aeronet.time - image_time
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但要做我想要的,我需要获得绝对时差,而不是相对差异.但是,只是运行abs或np.abs在它上面会出错:
abs(aeronet.time - image_time)
C:\Python27\lib\site-packages\pandas\core\series.pyc in …Run Code Online (Sandbox Code Playgroud)