3

I have the following dataframe df:

                          Candy       Apple      Banana
2016-09-14 19:00:00  109.202060  121.194138  130.372082
2016-09-14 20:00:00  109.199083  121.188817  130.380736
2016-09-14 21:00:00  109.198894  121.180553  130.366054
2016-09-14 22:00:00  109.192076  121.148722  130.307342
2016-09-14 23:00:00  109.184374  121.131068  130.276691
2016-09-15 00:00:00  109.191582  121.159304  130.316872
2016-09-15 01:00:00  109.183895  121.133062  130.269966
2016-09-15 02:00:00  109.193550  121.174708  130.337563
2016-09-15 03:00:00  109.196597  121.153076  130.274463
2016-09-15 04:00:00  109.195608  121.168936  130.276042
2016-09-15 05:00:00  109.211957  121.208946  130.330430
2016-09-15 06:00:00  109.210598  121.214454  130.365404
2016-09-15 07:00:00  109.224667  121.285534  130.508604
2016-09-15 08:00:00  109.220784  121.248828  130.389024
2016-09-15 09:00:00  109.199448  121.155439  130.212834
2016-09-15 10:00:00  109.226648  121.276439  130.427642
2016-09-15 11:00:00  109.239957  121.311719  130.462447

I want to create a second dataframe with just data from the past 6 hours.

df.index = pd.to_datetime(df.index,infer_datetime_format=True)

last_row = df.tail(1).index

six_hour = last_row - timedelta(hours=6)

df_6hr = df.loc[six_hour:last_row]
print df_6hr

I get the following error:

File "pandas/tslib.pyx", line 298, in pandas.tslib.Timestamp.new (pandas/tslib.c:9013)
File "pandas/tslib.pyx", line 1330, in pandas.tslib.convert_to_tsobject (pandas/tslib.c:25826)

TypeError: Cannot convert input to Timestamp

How come it doesn't work?

1 Answer 1

2

You need add [0], because you need select first item of list:

last_row = df.tail(1).index[0]
print (last_row)
2016-09-15 11:00:00

last_row = df.tail(1).index
print (last_row)
DatetimeIndex(['2016-09-15 11:00:00'], dtype='datetime64[ns]', freq=None)

Better solution is simple select last value of index by [-1]:

last_row = df.index[-1]
print (last_row)
2016-09-15 11:00:00
Sign up to request clarification or add additional context in comments.

2 Comments

Thanks that worked... How come I have to add [0]? Isn't the output just 1 row?
Glad can help you!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.