У меня есть данные временного ряда с 82 тысячами наблюдений за 260 временных шагов. Точки не следуют регулярной сетке. Каков наиболее эффективный способ в 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
1737337471
Anonymous
У меня есть данные временного ряда с 82 тысячами наблюдений за 260 временных шагов. Точки не следуют регулярной сетке. Каков наиболее эффективный способ в 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антехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия