вторник, 26 января 2016 г.

Python-дайджест

Добрый день, дорогой читатель!

Сегодня, 26 января 2015, Яндекс и НИУ ВШЭ запустили курс "Машинное обучение". Задачи классификации и множественной регрессии сейчас актуальны как никогда: накоплено критическое количество свободного ПО и объёмов данных. А задачи прогнозов никто не снимал с повестки дня. Очень советую обратить внимание на этот курс.

А для постоянных читателей следующее сообщение: времени на учебник выкраивать не получается. Но это не значит, что не будет подарков и развития. Нет, всё будет, но в другом формате. Пока я вижу это как дайджест, серию небольших еженедельных выпусков от простого к более сложному, с основ синтаксиса языка и алгоритмизации. + задачи, ключевые понятия, функции и методы.
В какой именно форме - пока не очень понятно. Наверное, как в случае с учебником по научной графике, будет ipython notebooks. Его, кстати, надо причесать и побрить, но это уж как руки дойдут. Ну и Rubib тоже надо продвигать.

В общем планов куча, но карт-бланш пока дан лишь сборнику-учебнику. Причиной тому является желание масс учить python для работы в науке.

воскресенье, 13 декабря 2015 г.

Релиз Rubib

Пролог.

Команда супер героев во главе с капитаном Непобедимым врывается в здание секретной лаборатории мистера X, одного из самых великих супер злодеев вселенной CD.
Мистер X сидит в роскошном кожаном кресле, потягивает вино из бокала и скучающим взором смотрит на группу взъерошенный и взмыленных героев. Капитан Непобедимый крепко сжимает в руках орудие возмездия и говорит:
"Твоим планам не суждено сбыться, мистер X! Мы пришли остановить тебя и положить конец твоим гнусным планам!"
После секундной паузы Мистер X заливается совсем не злодейским смехом и отвечает своему давнему сопернику:
"Ты что же, думал, что я буду сидеть здесь, пить вино и ждать, пока ваше стадо примчится меня останавливать! Ты в своём уме, капитан! Весь мой весьма коварный план приведён в действие уже как стуки!"
Мистер X смеётся: "Ха-ха-ха, чтоб я ждал, ха-ха-ха!"

Итак, дорогие читатели! Сегодня я презентую вам Rubib! Что такое Rubib? Читайте!

UPD 14.12.2015 - добавлена отдельная страница в блоге для приложения RuBib.


пятница, 4 декабря 2015 г.

Подарок на Новый Год

Дорогие читатели!

Как давече заметил коллега, что мой блог не очень часто обновляется, зато когда обновляется, то ого-го! Что ж, против правды не попрёшь, это так.
К Дню знаний я выложил электронный учебник по matplotlib "Научная графика в python". С тех пор нового материала особо не было, за исключением анонса удобного установщика Cartopy и Iris под Anaconda. Поэтому к Новому Году, а может быть и сильно раньше, постараюсь порадовать вас одним интересным проектом над которым я работал последний месяц, пока был в отпуске. Что это конкретно - пока сюрприз, всё-таки Новый Год как-никак.
Поэтому следите за блогом и "усё будет". А вот рисунок-подсказка. =)


P.S. К католическому Рождеству будет железно!

понедельник, 16 ноября 2015 г.

Метеорологические и картографические python-модули от MetOffice



Всем хорошо известный в узких кругах модуль basemap де-факто является основным инструментом для отображения географических данных в python.
Не так давно группой Scitools из MetOffice были созданы модули Cartopy и Iris.
Первый, как следует из названия, это модуль для работы с картографическими проекциями, а второй - специальный модуль для работы с метеорологическими данными разных форматов. Оба эти модуля были изначально созданы под Linux, и готовых сборок для Windows ОС не было. Не было их в репозитариях Anaconda (ни в стандартном, ни в binstar). Всё это делало работу с этими модулями целесообразной лишь под Linux.
Но не так давно эти модули были и теперь их можно установить в свою conda следующим образом:

conda install -c scitools cartopy

conda install -c scitools iris

И, главное, всё работает, в отличие от binstar/anaconda search!

Пока я вижу основную прелесть cartopy в том, что этот модуль использует более привычный для matplotlib синтаксис: картографическая проекция задаётся прямо через экземпляр области рисования axes с помощью параметра projection (с его помощью в matplotlib можно делать графики в полярных координатах).
А Iris умеет читать формат GRIB. Другого стороннего модуля, который умеет это делать, и который успешно устанавливался в conda, я не знаю.

Документация по Cartopy и документация по Iris.

суббота, 17 октября 2015 г.

Разное учебное

После публикации учебника в блоге не было новостей? Это не так =) Загляните на страничку python, data_biblio и CV. Там появилось несколько новых ссылок на интересные проекты и обновились ссылки на работы.
Но это не главное. Главное - это новый проект, так сказать Большой брат по отношению к "Научной графике в python". Я давно об этом думал и наконец созрел до своего учебника по python! Пока готова на 80% первая часть учебника. Всего планируется 4 части от азов до продвинутого программирования с использованием ООП. Так как в учебнике будет рассматриваться только стандартная библиотека, то на мой взгляд учебнику необходимо приложение, ещё одна часть, - python в науках о Земле, где будет рассказано о модулях numpy, scipy, pandas, netcdf4, о массивах и комплексных числах, а также о картографическом модуле basemap.
Помимо учебника, который создаётся в LaTex и будет представлять собой pdf-файл с оглавлением и ссылками, я очень хочу сделать рабочую тетрадь, ибо теория без практики мертва. И сейчас я крепко думаю над тем, как эту задумку реализовать. В загашнике есть несколько заготовок:
  1. Ipython notebook;
  2. облачный DataJoy;
  3. платформа свободных уроков Stepic;
Пока самым привлекательным кажется последний вариант. Там куча заготовок для тестов, задача на написание кода и возможность вставлять видео. В DataJoy есть возможность не устанавливать Python вообще - это очень круто, работать в браузере. Для простых задача это идеально - не надо устанавливать и корячиться в IDE - тут всё есть, садись и пиши код!
В общем, я пока в раздумьях. Видимо буду либо совмещать, либо найду что-то ещё. Умные люди на Habre говорят, что есть возможность строить уроки прямо в IDE PyCharm Education Edition. Сейчас PyCharm, как и MS Visual Studio, кажется мне громоздким, а для новичков вообще гробовыми редакторами. Но пока в нём не копался, может всё окажется тип-топ и на нём можно будет сделать классные рабочие материалы.

Как перевести UV в направление и скорость ветра? How to convert wind UV-components to direction and velocity?

 Всё просто.  def uv2dir(u, v):     '''     Источник:     https://github.com/blaylockbk/Ute_WRF/blob/master/functions/wind_calc...