Python: Как создать массив даты и времени и извлечь соответствующий год, месяц, день, час для каждого индекса в массиве до биннинга - PullRequest
0 голосов
/ 28 февраля 2020

Я могу создать список дат времени между 1994 и 2020 годами следующим образом:

from datetime import datetime, timedelta
# Create datetime for plotting
start_date = datetime(1994,1,1)
start_date_yr = start_date.year
time = [start_date + timedelta(days=x) for x in range(9553)]

'time' - это список, который полезен для построения моих данных 'y' как функции времени. Мои данные 'y' - это pandas ряд с измерением (9553,), содержащий некоторые NaN.

Однако я хочу построить свои данные 'y' как функцию дня года или месяца, или год. В MATLAB я бы использовал функцию dateve c, чтобы получить эти соответствующие годы, месяцы, дни с одинаковым измерением (9553,) из переменной time.

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

Как я могу получить массив времени (datetime, year, month, day) с измерением (9553,) и как я могу связать свои данные 'y'?

1 Ответ

1 голос
/ 28 февраля 2020

Составьте список кортежей:

[(datetime1, year1, month1, day1), (datetime2, year2, month2, day2), (datetime3, year3, month3, day3) ]


mydates = []
for date in time:
    mydates.append(tuple((t, t.strftime('%Y'), t.strftime('%m'), t.strftime('%d'))))
...