У меня есть набор данных метеорологических данных каждый день за период 1983 - 2019 гг. Я занимаюсь обработкой данных, и я хотел бы создать функцию, которая будет принимать значения для одной переменной и за определенный период и получать сумму.
Это будет использоваться несколько раз в коде, поэтому я не хочу использовать .resample ('MS'). Sum ().Более того, я хотел бы быть сильнее в программировании, поэтому я пытаюсь решить его с помощью «письменной» функции.
Итак, набор данных выглядит следующим образом.Я только что создал новую переменную «МЕСЯЦ».Но это может быть четверть или полугодие.
filled_values['MONTH'] = filled_values['DAY'].dt.strftime('%b %Y')
filled_values.tail(n=2)
out:
DAY RAIN TEMP TMAX TMIN WIND MONTH
13030 2019-03-04 0.1240 22.38 26.500 18.840 1.16 Mar 2019
13031 2019-03-05 0.1900 22.77 29.220 17.510 1.08 Mar 2019
А сейчас я пытаюсь создать функцию.
prec_sums_per_month = []
def sums_prec(dataset, date, variable_for_sum, new_variable, new_dataset):
for date in dataset.items:
new_dataset[new_variable] = variable_for_sum.sum()
return new_dataset
prec_sums_per_month = sums_prec(filled_values, 'MONTH', 'RAIN', 'RAIN_MONTH', prec_sums_per_month)
print(prec_sums_per_month)
Я ожидал новый DataFrame (или словарь?) С переменной 'MONTH' и суммой дождя длятот месяцНо вот мой результат:
TypeError: 'method' object is not iterable