Archive for the 'Обработка данных' Category

Боле продвинутый конвертер данных в Python

Задача: делаем конвертер на базе предыдущего, но при этом будем загружать целиком данные в списки и массивы а потом обрабатывать их.

?нструменты: Python, NumPy, SciTools, Gnuplot.py

Данные те же, как и способ использования скрипта.

Read more »

Простейший конвертер данных в Python

Задача: Есть файл с данными расположенными в двух колонках. Нужно его прочитать, изменить данные во второй колонке и записать в новый файл. Работать должно так:

script.py input_file.dat output_file.dat

?нструменты: Python

Это одна из самых популярных задач в научном программировании, поэтому ей мы и продолжим знакомство с Python.

Вторая часть эпопеи про конвертер тут.

Read more »

Читаем ascii файл в Python

Задача: прочитать файл с ascii данными и разбить его по матрицам

?нструменты: NumPy, PyNGL, SciPy

Поскольку в питоне поддержки многомерных матриц в явном виде, насколько я понимаю, нет, человечество изобрело NumPy.

Некоторые видят в NumPy хорошую альтернативу MATLAB. Эти два языка имеют некоторое сходство: они оба являются интерпретируемыми и оба позволяют пользователю писать быстрые програмы, поскольку большинство операций производится над массивами и матрицами а не над скалярными значениями. MATLAB обладает тем преимуществом что в нём встроены тысячи математических функций и ещё гораздо больше доступно в коммерческих и свободных библиотеках. В то же время NumPy является более современным и полным языком программирования, а также open source и бесплатным продуктом. Библиотека SciPy добавляет ещё больше MATLAB подобной функциональности, а Matplotlib — пакет обеспечивающий MATLAB подобный функционал в области графики. Хороший рассказ о питоновских библиотеках которыми можно заменить матлаб можно прочесть здесь.

Ну и поскольку для океанолога главным вопросом при изучении любого языка является «как читать и записывать данные», то с этого и начнём.

Read more »

?нтерполяция гео данных на другую сетку

Данные: значения на сетке в формате netCDF. Сетка покрывает всю Землю.

Задача: проинтерполировать эти данные на другую сетку (T63), чтобы их можно было сравнить с другой моделью.

?нструменты: cdo и GMT для отображения.

cdo (climate data operators) это коллекция строковых операторов для обработки и анализа данных климатических моделей (и вообще любых данных в netCDF формате), распространяемая по лицензии GPL. Поддерживаемые форматы данных GRIB, netCDF, SERVICE, EXTRA и IEG. Доступно более 350 операторов.

Read more »

Вырезание полигона из данных

Задача — вырезать район из матрицы данных.

В наличии — матрица с данными и две матрицы такого же размера что и матрица с данными, в одной находятся широты в другой долготы.

?нструменты — Matlab и GoogleEarth

Чтобы не отрываться от реальности, скажу что данные — это концентрация льда по SSM/I , NASA Team алгоритм. Решение грязное, медленное и нудное, правильного и красивого мне найти пока не удалось )
Read more »

Скопировать колонку несколько раз в Matlab

Если у вас есть колонка с данными и вам нужно сделать матрицу в которой была бы куча таких колонок, то есть клонировать их, то есть размножить, ну или как там ещё назвать… можно сделать следующее

dd = a(:,ones(1,n))

Где

a — изначальная одинокая колонка

n — количество колонок которое вам надо получить в итоге.

Есть ещё функция repmat но она медленней )

Открываем .hdf в Matlab

Мне попались файлы продвинутого формата hdf и нужно было как то открыть имеющиеся в них данные. С самим форматом мы разберёмся как нить в другой раз, наша задача добыть матрицу n*m.

В отличии от netCDF, поддержка HDF в матлабе присутствует родная и никаких телодвижений чтобы заставить его с форматом работать не требуется. А требуется только знать две команды.

Read more »

← Предыдущая страница