Я пытался отобразить следующие климатические данные netCDF в виде коробочного графика, но при попытке построить данные появляется ошибка TypeError.
Поэтому я использую xarray для чтения в файле. Файл содержит глобальные данные модели, поэтому я выбираю координаты региона, в котором я заинтересован (вокруг Гренландии). Я думаю, извлеките соответствующую переменную, используйте метод «groupby», чтобы найти группу данных по месяцам (модель содержит ежедневные данные за 2 года).
import matplotlib.pyplot as plt
import xarray as xr
#read in the files
data_1 = xr.open_dataset('UM_data_Leeds/ubj555_2/SW_down_clean_clear_surf/merged.nc')
#months
months = (data_1.time.dt.month)
#select region in question: Greenland
Greenland_ccs = data_1.where((-56 < data_1.Longitude) & (data_1.Longitude < 12) & (58 < data_1.Latitude) & (data_1.Latitude < 81), drop=True)
#extract the variable in question
GL_SWD_ccs = Greenland_ccs.SW_down_clean_clear_surf.dropna(dim='time')
#group by month
GL_SWD_ccs_monthly = GL_SWD_ccs.groupby('time.month')
#plot as boxplot
plt.boxplot(GL_SWD_ccs_monthly)
Когда я пытаюсь отобразить данные за месяц, появляется следующее сообщение об ошибке:
TypeError: GroupBy objects only support binary ops when the other argument is a Dataset or DataArray
Как я могу отформатировать месячные данные так, чтобы я мог создать коробочный график? Есть ли лучший способ найти статистику для ежемесячных данных?