2
votes

I want to ask, how to make range in datetime. I already try to make range, but i did not work. My code is following below:

import pandas
import os
import datetime
import numpy as np
import glob

def convert_stamp_to_date(stamp):
    try:
        d = datetime.datetime.utcfromtimestamp(stamp)
    except:
        d = datetime.datetime.utcfromtimestamp(0)
    d = datetime.datetime(d.year, d.month, d.day, d.hour, d.minute, d.second)
    return d


    activity_df = pandas.read_csv('D:/Ipython/PersonalDataProject/ITRCProject/oneP/activity.csv', index_col=0)
    activity_df['timestamp'] = activity_df['timestamp'].apply(convert_stamp_to_date)
    activity_df = activity_df.drop_duplicates('timestamp')
    activity_df = activity_df['2014-06-28 00:00:00'<activity_df['timestamp']<'2014-06-29 00:00:00']
    activity_df.columns = ['timestamp', 'activity']

ValueError Traceback (most recent call last) in () 17 activity_df['timestamp'] = activity_df['timestamp'].apply(convert_stamp_to_date) 18 activity_df = activity_df.drop_duplicates('timestamp') ---> 19 activity_df = activity_df['2014-06-28 00:00:00'

C:\Anaconda\lib\site-packages\pandas\core\generic.pyc in nonzero(self) 712 raise ValueError("The truth value of a {0} is ambiguous. " 713 "Use a.empty, a.bool(), a.item(), a.any() or a.all()." --> 714 .format(self.class.name)) 715 716 bool = nonzero

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

1
Sorry your question lacks input data and desired output, also have you looked at date_range?EdChum
How can I filter use that?markov zain

1 Answers

1
votes
import numpy as np
import datetime as dtm
date1 = dtm.datetime(2014,6,28,0,0,0)
date2 = dtm.datetime(2014,6,29,0,0,0)
#condition = np.logical_and(activity_df>date1,activity_df<date2)
#correction
np.logical_and(activity_df['timestamp']>date1,activity_df['timestamp']<date2)
activity_df = activity_df[condition]