Как рассчитать среднее количество снега в месяц для каждого ИМЯ / МЕСТО, а затем сохранить результаты в файле .CSV в Python? - PullRequest
0 голосов
/ 10 апреля 2020

Для каждого ИМЯ / МЕСТО рассчитывают среднее количество снега в месяц. Сохраните результаты в двух отдельных файлах .csv (один для 2016 года, а другой для 2017 года), назовите файлы medium2016.csv и average2017.csv.

Small portion of my filteredData.csv file

Я использую Python 3,8 с pandas.

Я пробовал этот код:

import numpy as np  
import pandas as pd


df = pd.read_csv('filteredData.csv')


df['DATE'] = pd.to_datetime(df['DATE'])
df['year'] = pd.DatetimeIndex(df['DATE']).year
df['month'] = pd.DatetimeIndex(df['DATE']).month


df16 = df[(df.year == 2016)]
df17 = df[(df.year == 2017)]

df_2016 = df16.groupby(df.month).mean()
df_2017 = df17.groupby(df.month).mean()

df_2016.to_csv('average2016.csv', index=False)
df_2017.to_csv('average2017.csv', index=False)

Однако, он не выполняет именно то, что я хочу. Это дает мне среднее количество снега за каждый месяц всех мест, вместе взятых. Тем не менее, мне нужно среднее количество снега для каждого ИМЯ / МЕСТО для каждого месяца. Как я смогу получить среднее количество снега для каждого ИМЯ / Места за каждый месяц, а затем сохранить результаты по годам, 2016 и 2017 годам в отдельных файлах .CSV?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020
df.groupby(['month','NAME','LOCATION']).SNOW.mean()

или

df.groupby(['year','month','NAME','LOCATION']).SNOW.mean()
0 голосов
/ 10 апреля 2020

Если вам нужно среднее количество снега для каждого названия / местоположения за каждый месяц, вы должны сгруппировать по обоим столбцам:

df_2016 = df16.groupby(['NAME', 'month']).mean()
...