Добавление даты и времени в датасеты

У меня есть два датасета — один тренировочный, второй - основной.

Возникла необходимость добавить к каждому датасету новый столбец, который в свою очередь необходимо заполнить датой и временем (буду применять временные ряды в модели).

Первый датасет содержит 498534 записей. Начальное значение даты/времени - 2016-01-15 00:00:00, конечное 2016-01-15 23:59:59. Я посчитал, что в среднем 5-6 записей должны приходится на одну секунду.

Второй датасет содержит 4406900 записей. Начальное значение даты/времени - 2016-01-16 00:00:00, конечное 2016-01-28 23:59:59. В среднем также - 5-6 записей на одну секунду.

введите сюда описание изображения

Я нагуглил документацию на дату и время в pandas, но до сих пор не понимаю, как в конечном итоге это реализовать.


Ответы (1 шт):

Автор решения: MaxU

Воспользуйтесь pd.date_range().

Пример:

создаем игрушечный датасет:

n_samples = 498534 
df = pd.DataFrame({"blah": np.random.randint(100, size=n_samples)})              

добавляем поле TimeStamp:

dt_from = pd.to_datetime("2016-01-15 00:00:00.000000")
dt_to = pd.to_datetime("2016-01-15 23:59:59.999999")
df["TimeStamp"] = pd.date_range(dt_from, dt_to, periods=n_samples)

результат:

In [132]: df
Out[132]:
        blah                     TimeStamp
0         91 2016-01-15 00:00:00.000000000
1         29 2016-01-15 00:00:00.173308487
2          7 2016-01-15 00:00:00.346616974
3         97 2016-01-15 00:00:00.519925461
4         83 2016-01-15 00:00:00.693233948
...      ...                           ...
498529    56 2016-01-15 23:59:59.306765051
498530     9 2016-01-15 23:59:59.480073538
498531    60 2016-01-15 23:59:59.653382025
498532    78 2016-01-15 23:59:59.826690512
498533    45 2016-01-15 23:59:59.999999000

[498534 rows x 2 columns]
→ Ссылка