Сортировать и вычислять данные по дате с помощью Python, используя Pandas - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть окончательный проект, в котором мне нужно рассчитать средний снег в месяц для каждого местоположения. У меня есть файл CSV, который содержит данные. В нем 38 строк, я считаю; Однако мне нужно создать новый CSV-файл, содержащий только те строки, которые мне нужны, например STATION, NAME, DATE, MONTH, AWND и SNOW. Я должен рассчитать общий снегопад для каждого названия за каждый месяц. Я использую Pandas для Python. Я могу создать новый CSV-файл с выбранными строками; Тем не менее, мне трудно рассчитывать ежемесячное количество снегопадов и сортировать их по дате. Столбец даты представлен в формате месяц-день-год "24.08.2017". Мне также нужно отфильтровать по годам, поэтому выполните приведенные выше расчеты для каждого имени для каждого месяца, но отфильтруйте так, чтобы отображались только данные за 2017 год, а затем 2016.

    import pandas as pd

    df = pd.read_csv("Data.csv")

    new_test = df.groupby("NAME")[["SNOW"]].sum().reset_index()

    new_test.to_csv("new_test1.csv", index=False) 

Выше хорошо работает при создании НАИМЕНОВАНИЕ и расчет СНЕГА; однако, он не рассчитывает ежемесячно, я думаю, что он рассчитывает каждое значение снега для каждого имени, и мне также нужны STATION, NAME, DATE, MONTH, AWND и SNOW. При попытке выполнить следующее выдает ошибку.

    new_test = df.groupby("STATION", "NAME", "DATE", "MONTH", "AWND")[["SNOW"]].sum().reset_index()

Я также пробовал это. Где SNOW, выдает ошибку; однако, если AWND там это работает? Мне нужно рассчитать SNOW, а не AWND.

    Sum = df.groupby(["STATION","NAME", "DATE", "Month"])["SNOW"].sum().reset_index()

Если кто-нибудь знает, что я могу делать неправильно, и может указать мне правильное направление, это будет очень признательно. Спасибо.

Вот файл CSV с фактическими данными о погоде, с которым я работаю для своего класса.

https://drive.google.com/file/d/1i97aS6gfIK1XTsRvJHEselkCmYW8l4AK/view

...