У меня есть дата начала и массив, содержащий нерегулярные значения выборки в днях, которые я хотел бы использовать в качестве индекса даты для серии pandas.суммирование временных меток pandas и массива, содержащих значения timedelta
Как:
In [233]: date = pd.Timestamp('2015-10-17 08:00:00')
Out[233]: Timestamp('2015-10-17 08:00:00')
In [234]: sample_size = np.array([0,10,13,19,30])
Out[234]: array([ 0., 16., 32., 48., 64.])
Теперь я мог бы использовать список и следующий цикл для создания серии панды DATETIME:
In [235]: all_dates = []
for stepsize in sample_size:
days = pd.Timedelta(stepsize, 'D')
all_dates.append(date + days)
pd.Series(all_dates)
Out[235]: 2015-10-17 08:00:00
2015-10-27 08:00:00
2015-10-30 08:00:00
2015-11-05 08:00:00
2015-11-16 08:00:00
dtype: datetime64[ns]
Но я надеялся на чисто NumPy или панд решение без необходимости перечня и для петли
, который, похоже, работает, поэтому сначала нужно создать серию, равную 'date' и с длиной' sample_size'. Все еще немного громоздко, хотя – Mattijn
Я добавил некоторые объяснения, чтобы подробнее рассказать о том, как это решение работает –
вам не нужно вручную транслировать, просто добавить их, и он будет работать '' Series (pd.to_timedelta (sample_size, unit = 'D ') + дата) '' – Jeff