У меня есть столбец Time, который не является нулевым объектом, и я не могу преобразовать его в timedelta или datetime.
Time msg
12:29:36.306000 Setup
12:29:36.507000 Alerting
12:29:38.207000 Service
12:29:39.194000 Setup
12:30:05.773000 Alerting
12:30:06.205000 Service
12:32:07.315000 Setup
12:32:17.194000 Service
12:32:26.889000 Setup
12:36:06.274000 Alerting
12:36:08.523000 Service
12:37:59.200000 Setup
12:47:10.652000 Alerting
12:47:43.921000 Setup
Когда я набираю df.info(), я получаю, что столбец «Время» не является нулевым объектом, и я не могу преобразовать его в timedelta или datetime (для этого очевидно, почему я не могу этого сделать). Итак, каково решение, чтобы найти разницу между последовательными сообщениями (дельта времени), но если дельта времени ‹ 5 секунд, чем пройти. Выход:
Time msg diff
12:29:36.306000 Setup
12:29:36.507000 Alerting
12:29:38.207000 Service
12:29:39.194000 Setup
12:30:05.773000 Alerting
12:30:06.205000 Service
12:32:07.315000 Setup
12:32:17.194000 Service
12:32:26.889000 Setup
12:36:06.274000 Alerting 6.30***
12:36:08.523000 Service
12:37:59.200000 Setup
12:47:10.652000 Alerting 11.02***
12:47:43.921000 Setup
Я пробовал что-то вроде этого:
df['diff'] = (df['Time']df['Time'].shift()).fillna(0)
Но я не знал, как написать условие для интервала 5 секунд.
df['Time'] = pd.to_timedelta(df['Time'])
, он возвращает ошибку? - person jezrael   schedule 15.08.2017df['Time'] = pd.to_timedelta(df['Time'].astype(str))
- person jezrael   schedule 15.08.2017