У меня есть данные временного ряда с 260 временными шагами и 82 тыс. точечных наблюдений на каждом временном шаге. Точки не следуют регулярной сетке, но их местоположение остается постоянным на протяжении всего временного ряда. Каков наиболее эффективный способ в Python преобразовать все данные временных рядов в обычную сетку? В частности, можем ли мы использовать знание о том, что расположение датчиков не меняется, чтобы быстрее вычислить интерполированную сетку?
Приведенный ниже код представляет собой мое решение для временного шага. Я не уверен, что обработка каждого временного шага отдельно является наиболее оптимальным методом для длинных временных рядов. Время вычисления для сетки 8000 X 8000 для временного шага составляет 10 с. Есть ли способ запустить код быстрее (чем выполнять код для каждого временного шага отдельно)?
from scipy.interpolate import griddata
import matplotlib.pyplot as plt
def interpolate_grid(x, y, values, target_size=(800, 800)):
"""Grid interpolation"""
points = (x , y)
xi = np.linspace(x.min(), x.max(), target_size[0])
yi = np.linspace(y.min(), y.max(), target_size[1])
xi, yi = np.meshgrid(xi, yi)
zi = griddata(points, values , (xi, yi), method='linear')
return xi, yi, zi
x, y, z = interpolate_grid(x=gdf.geometry.x,
y=gdf.geometry.y,
values=gdf[gdf.columns[1]],
target_size=(10000, 10000))
Подробнее здесь: https://stackoverflow.com/questions/793 ... eries-data
Как эффективно генерировать данные с координатной сеткой из данных временных рядов в 82 тыс. точек? ⇐ Python
Программы на Python
1737391887
Anonymous
У меня есть данные временного ряда с 260 временными шагами и 82 тыс. точечных наблюдений на каждом временном шаге. Точки не следуют регулярной сетке, но их местоположение остается постоянным на протяжении всего временного ряда. Каков наиболее эффективный способ в Python преобразовать все данные временных рядов в обычную сетку? В частности, можем ли мы использовать знание о том, что расположение датчиков не меняется, чтобы быстрее вычислить интерполированную сетку?
Приведенный ниже код представляет собой мое решение для временного шага. Я не уверен, что обработка каждого временного шага отдельно является наиболее оптимальным методом для длинных временных рядов. Время вычисления для сетки 8000 X 8000 для временного шага составляет 10 с. Есть ли способ запустить код быстрее (чем выполнять код для каждого временного шага отдельно)?
from scipy.interpolate import griddata
import matplotlib.pyplot as plt
def interpolate_grid(x, y, values, target_size=(800, 800)):
"""Grid interpolation"""
points = (x , y)
xi = np.linspace(x.min(), x.max(), target_size[0])
yi = np.linspace(y.min(), y.max(), target_size[1])
xi, yi = np.meshgrid(xi, yi)
zi = griddata(points, values , (xi, yi), method='linear')
return xi, yi, zi
x, y, z = interpolate_grid(x=gdf.geometry.x,
y=gdf.geometry.y,
values=gdf[gdf.columns[1]],
target_size=(10000, 10000))
Подробнее здесь: [url]https://stackoverflow.com/questions/79370096/how-to-efficiently-generate-gridded-data-from-82k-points-time-series-data[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия