Отображение агрегированных значений
Иногда бывает нужно отобразить данные в агрегированном виде. Например, набор данных co2_levels содержит еженедельные значения, однако вам может потребоваться вывести их в разбивке по месяцам года. В наборах данных, подобных DataFrame co2_levels, где индекс имеет тип datetime, можно извлечь год для каждой даты в индексе:
# extract of the year in each dates of the df DataFrame
index_year = df.index.year
Чтобы извлечь месяц или день из дат в индексах DataFrame df, используйте соответственно df.index.month и df.index.day.
Затем можно применить извлечённые значения года из индексов DataFrame co2_levels и функцию groupby, чтобы вычислить среднее значение уровня CO2 по годам:
df_by_year = df.groupby(index_year).mean()
Это упражнение является частью курса
Визуализация данных временных рядов в Python
Инструкции к упражнению
- Извлеките значения месяцев для каждой даты в индексе DataFrame
co2_levelsи сохраните их в переменнуюindex_month. - С помощью функций
groupbyиmeanиз библиотекиpandasвычислите среднемесячный уровень CO2 в DataFrameco2_levelsи сохраните результат в новый DataFramemean_co2_levels_by_month. - Постройте график на основе значений DataFrame
mean_co2_levels_by_month, задав размер шрифта делений осей равным 6.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Get month for each dates in the index of co2_levels
index_month = ____.index.____
# Compute the mean CO2 levels for each month of the year
mean_co2_levels_by_month = co2_levels.____(____).____()
# Plot the mean CO2 levels for each month of the year
mean_co2_levels_by_month.____
# Specify the fontsize on the legend
plt.legend(fontsize=10)
# Show plot
plt.show()