Конвертировать временной ряд панд в дельту времени - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь построить временной ряд панд, но вместо фактического времени на оси Y, я хочу, чтобы время с начала временного ряда было осью X.

Существуют ли какие-либо удобные способы его форматирования или преобразования моего временного ряда в ряд с дельта-временем?

1 Ответ

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

Вычтите DatetimeIndex по первому значению путем индексации:

s = pd.Series([1,8,9], index= pd.date_range('2015-01-01', periods=3, freq='H'))
print (s)
2015-01-01 00:00:00    1
2015-01-01 01:00:00    8
2015-01-01 02:00:00    9
Freq: H, dtype: int64

s.index = (s.index - s.index[0])
print (s)
00:00:00    1
01:00:00    8
02:00:00    9
dtype: int64

При необходимости преобразуйте TimedeltaIndex в секунды, используя total_seconds или daysесли нет раз в DatetimeIndex:

s.index = (s.index - s.index[0]).total_seconds()
print (s)
0.0       1
3600.0    8
7200.0    9
dtype: int64
...