Перезапустите метку времени набора данных серии панд с 0 - PullRequest
0 голосов
/ 01 марта 2019

Я работаю с python и pandas.

У меня есть некоторые данные временных рядов в этом формате в фрейме данных:

    timeStampStart          Measurement
0   2019-02-26 22:47:39.914 810
1   2019-02-26 22:47:40.747 854
2   2019-02-26 22:47:40.743 862

У меня есть несколько других наборов данных таким образом.В основном я провел эксперимент, который собирает результаты с течением времени, собирая timeStampStart и значение.

Теперь я хочу компенсировать все свои данные так, чтобы первый результат начинался с 0000-00-00 00:00:00и последующие являются лишь разницей - отметка времени перезапускается со времени 0.

    timeStampStart          Measurement
0   0000-00-00 00:00:00.000 810
1   0000-00-00 00:00:00.834 854
2   0000-00-00 00:00:00.830 862

Примечание: тип timeStampStart равен pandas._libs.tslib.Timestamp.

Как мне этого добиться?

1 Ответ

0 голосов
/ 01 марта 2019

Вам нужно timedeltas путем вычитания по первому значению столбца timeStampStart, потому что datetime с 00:00:00 не существует:

df['td'] = df['timeStampStart'].sub(df['timeStampStart'].iat[0])
print (df)
           timeStampStart  Measurement              td
0 2019-02-26 22:47:39.914          810        00:00:00
1 2019-02-26 22:47:40.747          854 00:00:00.833000
2 2019-02-26 22:47:40.743          862 00:00:00.829000

print (df.dtypes)
timeStampStart     datetime64[ns]
Measurement                 int64
td                timedelta64[ns]
dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...