Попытка создать список с датами и временем в Python без отметок времени - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь использовать Astropy для определения координаты даты / времени. Я хочу создать список, который включает в себя даты и время, увеличивающееся на час. Например:

[2018-01-01 00:00:00,2018-01-01 01:00:00,2018-01-01 02:00:00]

Однако мне нужно, чтобы даты были с 2018-01-01 по 2019-08-31 и включали в себя часы с 0 по 24, т.е.

[2018-01-01 00:00:00,2018-01-01 01:00:00,2018-01-01 02:00:00,....2018-01-01 
23:00:00,2018-01-02 00:00:00,2018-01-02 01:00:00,2018-01-02 02:00:00,....
2018-01-02 23:00:00,...]

Это то, что у меня есть код:

import pandas as pd 
import numpy as np

dates=[]
for i in np.arange(0,24):
    d=pd.date_range('2018-01-01', periods=243) + pd.Timedelta(hours=i)
    dates.append(d)


tim=[]
for j,k in zip(np.arange(0,24),np.arange(0,243)):
    t=dates[j][k]
    tim.append(t)

print(tim)

, который возвращает:

[Timestamp('2018-01-01 00:00:00', freq='D'), Timestamp('2018-01-02 01:00:00', 
freq='D'), Timestamp('2018-01-03 02:00:00', freq='D'), Timestamp('2018-01-04 
03:00:00', freq='D'), Timestamp('2018-01-05 04:00:00', freq='D'), 
Timestamp('2018-01-06 05:00:00', freq='D'), Timestamp('2018-01-07 06:00:00', 
freq='D'), Timestamp('2018-01-08 07:00:00', freq='D'), Timestamp('2018-01-09 
08:00:00', freq='D'), Timestamp('2018-01-10 09:00:00', freq='D'), 
Timestamp('2018-01-11 10:00:00', freq='D'), Timestamp('2018-01-12 11:00:00', 
freq='D'), Timestamp('2018-01-13 12:00:00', freq='D'), Timestamp('2018-01-14 
13:00:00', freq='D'), Timestamp('2018-01-15 14:00:00', freq='D'), 
Timestamp('2018-01-16 15:00:00', freq='D'), Timestamp('2018-01-17 16:00:00', 
freq='D'), Timestamp('2018-01-18 17:00:00', freq='D'), Timestamp('2018-01-19 
18:00:00', freq='D'), Timestamp('2018-01-20 19:00:00', freq='D'), 
Timestamp('2018-01-21 20:00:00', freq='D'), Timestamp('2018-01-22 21:00:00', 
freq='D'), Timestamp('2018-01-23 22:00:00', freq='D'), Timestamp('2018-01-24 
23:00:00', freq='D')]

Пожалуйста, помогите! Спасибо.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Чтобы получить список в желаемом формате, вы можете использовать:

[str(ts) for ts in pd.date_range('2018-01-01', '2019-08-31', freq='H')]
0 голосов
/ 01 сентября 2018

Все просто:

pd.date_range('2018-01-01', '2019-09-01', freq='H')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...