datetime - Get value by date -


i have data frame df:

            price 2004-03-19  36.250000 2004-03-20  36.237500 2004-03-21  36.225000 2004-03-22  36.212500 etc... 

the index of type:

datetimeindex(['2004-03-19', '2004-03-20', '2004-03-21', ...],                       dtype='datetime64[ns]', length=1691, freq='d') 

i want retrieve price @ day using df[datetime.date(2004,3,19)]. pandas does:

keyerror: datetime.date(2004, 3, 19)

the following works, can't way supposed work:

df[df.index.isin(pd.datetimeindex([datetime.date(2004,3,19)]))].price.values[0]

the problem here comparison being performed exact match, none of times 00:00:00 no matches occur.

you can use loc datetimeindex:

print df.loc[pd.datetimeindex(['2004-3-19'])]             price 2004-03-19  36.25 

or can use loc, convert string 2004-3-19 to_datetime , date of datetimeindex:

print df.loc[pd.to_datetime('2004-3-19').date()] price    36.25 name: 2004-03-19 00:00:00, dtype: float64 

if need value of price:

print df.loc[pd.datetimeindex(['2004-3-19']), 'price'] 2004-03-19    36.25 name: price, dtype: float64  print df.loc[pd.datetimeindex(['2004-3-19']), 'price'].values[0] 36.25  print df.loc[pd.to_datetime('2004-3-19').date(), 'price'] 36.25 

but if add time datetime, datetimeindex match:

print df.loc[pd.to_datetime('2004-3-19 00:00:00')] price    36.25 name: 2004-03-19 00:00:00, dtype: float64  print df.loc[pd.to_datetime('2004-3-19 00:00:00'), 'price'] 36.25 

Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -