Я пишу свой самый первый цикл, так как повторная выборка не позволяет мне использовать пользовательские даты начала для годовой выборки. Моя цель — суммировать каждую серию из 12 последовательных месяцев в 30-летнем временном ряду для расчета некалендарного года (гидрологический водный год с октября по сентябрь). Набор данных начинается в октябре, поэтому я решил просто сложить вместе первые 12 строк, следующие 12 строк и так далее. Идеально для цикла, верно?! Два вопроса:
1) Каков самый простой способ сложить "n" строк, которые выводятся в новый DataFrame, проиндексированный по годам.
2) Моя попытка решения вопроса 1 приведена ниже, и она работает. Однако тип выходных данных — «NoneType», который я не могу объединить с другим DataFrame через pd.concat. Как это исправить?
def Water_Year_Total(Monthly_Data_30yrs):
for i in range((len(Monthly_Data_30yrs))//12):
x=0
y=12
new_value=sum(data[(x+(12*i)):(y+(12*i))])
print(new_value)
Цикл for сначала подсчитывает количество строк с помощью функции len(), затем делит его на 12, чтобы получить количество лет в наборе данных, а затем повторяет цикл суммирования i раз, прежде чем распечатать результат.