Как сделать время окончания 1-го ряда как время начала 2-го ряда в Python - PullRequest
0 голосов
/ 19 февраля 2019

Как сделать время окончания 1-й строки временем начала 2-й строки (я намерен добавить некоторое значение в секундах к времени начала в каждой строке, и время окончания той же строки должно быть временем начала следующейстрока).

Например,

start-time|time_to_add|endtime

10:00:00  |30 secs   |10:00:30

10:00:30  | 15 secs  | 10:00:45

10:00:45  | 10 secs  | 10:00:55

Любая помощь будет принята.

Спасибо

edit

starttime  | val_to_add |  endtime

10:30:00   | 30     |   10:30:00 + 0:0:30

10:30:00 + 0:0:30  | 30   | 10:30:00 + 0:0:30 + 0:0:30

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Вот небольшой пример того, как это сделать, если time_to_add - это список значений.

import pandas as pd
import numpy as np

df = pd.DataFrame()
initial_start_time = pd.to_timedelta('10:00:00')
time_to_add = ['0:00:30', '0:00:15', '0:00:15', '0:00:30', '0:00:20']
time_to_add = [pd.to_timedelta(x) for x in time_to_add]

df['time_to_add'] = time_to_add
df['end_time'] = [initial_start_time + x for x in np.cumsum(time_to_add)]
df['start_time'] = [initial_start_time] + list(df['end_time'][:-1])

df = df[['start_time', 'time_to_add', 'end_time']]

Столбец time_to_add - это только ваши интервалы.Столбец end_time добавляет интервалы к начальному времени начала, а столбец n start_time берет времена окончания и сдвигает их на одну строку.Последняя строка предназначена только для переупорядочения столбцов.

Надеюсь, это работает для вас.

0 голосов
/ 19 февраля 2019

Использование:

df['start-time'] = pd.to_timedelta(df['start-time'])
df['time_to_add']=pd.to_timedelta(df['time_to_add'].replace(' sec', '', regex=True), unit='s')
df['end-time'] = df['start-time'] + df['time_to_add'] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...