Я пытаюсь вывести средние максимальные и минимальные значения за год между 2005-2014 гг. На линейный график.База данных, из которой я читаю, содержит 165085 строк с записанной температурой от многочисленных метеостанций
. Чтобы решить эту проблему, я преобразовал столбец «Дата» в формат отметки времени, а затем использовал функцию groupby для возврата значений данных, сгруппированных по столбцу элемента.(есть два элемента TMAX и TMIN), а затем вычерчивают эти два (TMAX и TMIN) на линейном графике.
Есть 2 проблемы: 1.) на линейном графике отображаются точки данных из каждой строки в кадре данных- Я думаю, что было бы более разумно показывать среднюю максимальную и минимальную температуру для каждого года 2.) Я хочу показать среднюю минимальную и максимальную температуры между 2005 и 2014 годами (моя диаграмма показывает минимальную и смешанную температуру между 2005 и 2015 годами)
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.read_csv('data/C2A2_data/BinnedCsvs_d400/fb441e62df2d58994928907a91895ec62c2c42e6cd075c2700843b89.csv')
#converting dates into datetime format
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
df.groupby('Element')['Data_Value'].plot.line(legend=True)
fig = plt.gcf()
fig.set_size_inches(18.5,10.5)
plt.show()
Это мой текущий вывод:
Образец таблицы:
ID Element Data_Value
Date
2014-11-12 USW00094889 TMAX 22
2009-04-29 USC00208972 TMIN 56
2008-05-26 USC00200032 TMAX 278
2005-11-11 USC00205563 TMAX 139
2014-02-27 USC00200230 TMAX -106
2010-10-01 USW00014833 TMAX 194
2010-06-29 USC00207308 TMIN 144
2005-10-04 USC00203712 TMAX 289
2007-12-14 USW00004848 TMIN -16
2011-04-21 USC00200220 TMAX 72
2013-01-16 USC00205822 TMAX 11
2008-05-29 USC00205822 TMIN 28