Как я могу нарезать и взять среднее значение за определенные c месяцев, а затем получить значения для каждого года в python / numpy? - PullRequest
0 голосов
/ 07 мая 2020

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

year    month   mday    hour    Precipitation
1990    3   1   0   46.8875
1990    4   1   0   54
1990    5   1   0   49.2
1990    6   1   0   26.8
1990    7   1   0   53.2
1990    8   1   0   39.9
1990    9   1   0   52
1990    10  1   0   127.4
1990    11  1   0   72

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

for root, dirs, filenames in items:
    for d in dirs:
        FieldN = DaisyDlf(os.path.join(root, d, "Monthly-water.dlf"))
        df = FieldN.Data
        df["Nleach"] = df['Matrix percolation']  
       year = np.unique(df.index.year) 
        dSON_an = []
        yrs = pd.Series(range(1, len(df['Nleach'])))
        for yr in yrs:
            dSON_an.append(dSON)
dSON_dict[d] = pd.DataFrame(data=dSON_an, index=year[0:len(year)], columns=[d])  

Может ли кто-нибудь подсказать, как я могу взять среднее значение c месяцев, а затем получить результат за c лет?

...