вычисление наклона между скользящим окном двух xarray
Я пытаюсь вычислить наклон между скользящим окном (3×4) двух наборов данных xarray. Вы можете представить, что мы хотим вычислить наклон dx и dy, чтобы поместить значение в центр скользящего окна. для х=3,у=4. Я очень признателен, если кто-то может помочь мне рассчитать наклон или любую функцию между скользящим окном xarray в x, y измерении. Есть примеры для более простого расчета в stackoverflow, такие как
Xarray скользящее среднее с весами
или пример без скользящего окна
Применение numpy.polyfit к набору данных xarray
Коэффициенты скользящей корреляции для двух массивов данных xarray
Я попытался сформулировать его, используя следующий код, но он не делает то, что я хочу
dv = xr.tutorial.open_dataset («градиент_температуры_воздуха») dx=dv.Tair.mean(dim='время') де = dv.dTdx определение linear_trend (х, у): pf = np.polyfit (х, у, 1) вернуть xr.DataArray (pf [0]) наклоны = xr.apply_ufunc (linear_trend, de.rolling(lat=3, lon=4, center=True).construct('window_dim'), dx.rolling(lat=3, lon=4, center=True).construct('window_dim'), векторизация = Истина, )
И я получил следующее сообщение об ошибке
Вывод превышает предельный размер. Откройте полные выходные данные в текстовом редакторе. -------------------------------------------------- ------------------------- ValueError Traceback (последний последний вызов) /tmp/ipykernel_17440/286248495.py в <модуль> 10 11 наклонов = xr.apply_ufunc(linear_trend, ---> 12 de.rolling(lat=3, lon=4, center=True).construct('window_dim'), dx.rolling( 13 широта=3, долгота=4, центр=Истина).construct('window_dim'), 14 векторизация=Истина, ~/anaconda3/envs/code/lib/python3.8/site-packages/xarray/core/rolling.py в конструкции (self, window_dim, stride, fill_value, keep_attrs, **window_dim_kwargs) 353 """ 354 --> 355 вернуть self._construct( 356 селф.объект, 357 window_dim=окно_dim, ~/anaconda3/envs/code/lib/python3.8/site-packages/xarray/core/rolling.py в _construct(self, obj, window_dim, stride, fill_value, keep_attrs, **window_dim_kwargs) 382 window_dim = {d: window_dim_kwargs[str(d)] для d в self.dim} 383 --> 384 window_dims = self._mapping_to_list( 385 window_dim, allow_default=False, allow_allsame=False # тип: ignore[arg-type] # https://github.com/python/mypy/issues/12506 386 ) ~/anaconda3/envs/code/lib/python3.8/site-packages/xarray/core/rolling.py в _mapping_to_list(self, arg, default, allow_default, allow_allsame) 214, если self.ndim == 1: ... --> 216 поднять ValueError(f"Аргумент сопоставления необходим для {self.ndim}d-прокатки.") 217 218 по определению _get_keep_attrs(self, keep_attrs): ValueError: Аргумент сопоставления необходим для 2D-прокрутки.
Большой валун Джека Фроста | Джек Фрост Большой Боулдер Резорт
Перейти к основному содержаниюБилеты на подъемники
- Бронируйте билеты на подъемники за 7+ дней, чтобы получить максимальную экономию
- Ваш билет на подъемник подлежит возврату, если ваши планы изменятся.
Бронируйте с уверенностью (см. условия)
Не ждите, бронируйте заранее
Найдите урок, который лучше всего подходит для вас – предпочитаете ли вы учиться 1:1 или в небольшой группе, ваш лучший день в горах ждет!
Аренда зимнего снаряжения
Максимально проведите время в горах и сэкономьте при бронировании заранее.
ПЕРВЫЙ ДЕНЬ НА СКЛОНАХ
Календарь бронирования
КОЛИЧЕСТВО ДНЕЙ НА ЛЫЖАХ
Возрастная группа Выберите ВозрастВзрослый (13–64 года)Детский (5–12 лет)Пожилой (65+)
Выберите возраст
Спорт
Спорт Лыжи лыжи
Спорт Сноуборд
Возраст Взрослый (от 13 лет) Ребенок (от 5 до 12 лет)
“> Выберите значок Age.ErrorУровень НачинающийСреднийПродвинутый
Выберите уровень. Значок ошибки
Дата начала
Календарь бронирования
Введите допустимую дату начала (ММ/ДД/ГГГГ). Значок ошибки
Билеты на подъемники
ПЕРВЫЙ ДЕНЬ НА СКЛОНАХ
Календарь бронирования
” data-error-invalid=”Enter valid date for your First Day on the Slopes (MM/DD/YYYY).” data-valmsg-for=”First Day” data-component-element=”bdyBookingWidget_errorMessage”/>КОЛИЧЕСТВО ДНЕЙ НА ЛЫЖАХ
Возрастная группа Выберите ВозрастВзрослый (13–64 года)Детский (5–12 лет)Пожилой (65+)
Выберите возраст
Уроки
Спорт
Спорт Лыжи лыжи
Спорт Сноуборд Сноуборд
Возраст Взрослый (от 13 лет) Ребенок (от 5 до 12 лет)
“> Выберите значок Age.ErrorУровень НачинающийСреднийПродвинутый
Выберите уровень. Значок ошибки
Дата начала
Календарь бронирования
Введите допустимую дату начала (ММ/ДД/ГГГГ). Значок ошибки
Аренда
Два курорта.