Извлечение данных за месяц и нахождение среднего значения для одного столбца

У меня есть один CSV-файл, который имеет 6 столбцов, таких как date_time , humidity , temp_c т. Д ..

Я хочу извлечь месячные данные и найти среднее значение влажности за месяц. Примечание: без использования сторонних библиотек, таких как pandas numpy и т.д.

import csv

with open('path', mode='r') as csv_file:
    csv_reader = csv.DictReader(csv_file)
    for row in csv_reader:
        for key, value in row.items():
            temp[key] = value

Всего 2 ответа


Учитывая этот пример .csv:

date_time,humidity,temp_c
2020 Jan 1, 12, 25
2020 Jan 2, 13, 25
2020 Feb 2, 14, 25
2020 Feb 3, 15, 25

Вот рабочее решение:

# https://stackoverflow.com/questions/49584924/python-group-dates-by-month
import pandas as pd

#https://stackoverflow.com/questions/52842977/read-csv-to-pandas-retaining-values-as-it-is
df = pd.read_csv("example.csv")
print(df)

#https://stackoverflow.com/questions/55684075/pandas-to-datetime-changes-year-unexpectedly
df['date'] = pd.to_datetime(df['date_time'])
print(df)

#https://stackoverflow.com/questions/23840797/convert-a-column-of-timestamps-into-periods-in-pandas
df['month'] = pd.DatetimeIndex(df['date']).to_period('M')

print(df)
df = df.groupby("month")
print(df)

# https://stackoverflow.com/questions/31037298/pandas-get-column-average-mean
print(df["humidity"].mean())

Панды отлично подходит для этого. Документ находится здесь , и вы сможете найти свой ответ, проверив документацию на такие функции, как read_csv и mean .

Этот вопрос также может помочь.


Есть идеи?

10000