Home > Net >  Generate a column of uniform timestamps between 2 time stamps
Generate a column of uniform timestamps between 2 time stamps

Time:03-02

I have a dataset that does not have a time per each record. I however know the start and end time of the data. I also assume that all data points are recorded in equal intervals. Hence I would like to generate a new column 'time' of equally separated times between the start time and end time.

start_time= '2022:01:01:07:30'
end_time='2022:01:01:08:30'

data = {'rec' : ['rec1' for i in range(11)] ,
        'readvalue' : [0.5   0.5*np.sin(2*np.pi/10*i) 
                       for i in range(11)]}
df = pd.DataFrame(data, columns = [ 'rec', 'readvalue'])
df

CodePudding user response:

You could use date_range:

df['time'] = pd.date_range(start='2022/01/01 07:30', end='2022/01/01 08:30', periods=len(df))

Output:

     rec  readvalue                time
0   rec1   0.500000 2022-01-01 07:30:00
1   rec1   0.793893 2022-01-01 07:36:00
2   rec1   0.975528 2022-01-01 07:42:00
3   rec1   0.975528 2022-01-01 07:48:00
4   rec1   0.793893 2022-01-01 07:54:00
5   rec1   0.500000 2022-01-01 08:00:00
6   rec1   0.206107 2022-01-01 08:06:00
7   rec1   0.024472 2022-01-01 08:12:00
8   rec1   0.024472 2022-01-01 08:18:00
9   rec1   0.206107 2022-01-01 08:24:00
10  rec1   0.500000 2022-01-01 08:30:00
  • Related