Archive for the 'Без рубрики' Category

?спользование Python (IPython notebook и Pandas) для интерактивного анализа данных (видео с YaC2014)

В октябре я провёл воркшоп на яндексовой Yet Another Conference 2014 (YaC2014). На днях выложили видео с записью трансляции. Надо сказать, что снималось всё очень профессионально, суровыми дядьками с большими камерами, а звук записывали с петличного микрофона заботливо прикреплённого звукорежисёром, который сидел, видимо, с режисёром за специальным пультом.

Я всё-таки предпочитаю, когда на записях подобного рода воркшопов есть малюсенький экран со спикером а всё остальное место занимает постоянно транслируемая картинка с экрана компьютера, тогда ничего не пропускаешь (как например на SciPy конференциях). Однако здесь почти всё видно и самая большая проблема в том, что не показали ссыку на репозиторий в начале видео.

Что касается самого выступления, то я там пару-тройку раз спорол чушь, но публика либо не заметила, либо скромно промолчала 🙂 В целом всё было неплохо. Само выступление не столько про анализ логов апача, сколько про IPython notebook и Pandas, так что если вы хотите посмотреть на них в действии, то вам должно понравиться.

Ссылка на само видео.

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

Здесь репозиторий с магией, которая позволила нам дать доступ к ноутбукам всем присутствующим на воркшопе, да так, чтобы они друг другу не мешали. Каждый работал во временном докер-контейнере.

Последнюю штуку нашёл Антон Кортунов, модератор секции Backend, поставил ее и настроил. Это заставило меня по приезду поближе познакомиться с докером. Мне удалось достаточно быстро разобраться куда нужно вводить три строчки из документации и поднять дроплет с этим делом на Digital Ocean. Уже через неделю после YaC я смог работать с 15 студентами на этом дроплете, без бесконечных объяснений как установить тот или иной питоновский модуль.

Ещё раз огромное спасибо Антону и Насте из Яндекса за приглашение и очень профессиональную работу.

Работаем с метеоданными в Pandas

met06Задача: сконвертировать данные метеостанции по температуре для работы в pandas
?нструмент: pandas

Всё чаще российские метеорологические данные становятся открытыми, что не может не вызывать положительных эмоций. Однако к сожалению все центры данных стремяться придумать свой уникальный формат, и к сожалению каждый раз нужно мучаться с конвертацией.

В этой короткой заметке я покажу как сконвертировать метеоданные (температуру) полученные с сервера ВН??ГМ?-МЦД в pandas DataFrame.
Read more »

Анализ логов Apache при помощи Pandas и IPython notebook

Apache log analysis with Pandas, mapПотихоньку осваиваю Pandas, питоновский модуль для анализа данных. В процессе сделал довольно подробный ноутбук с примером анализа логов доступа Apache. Цель я преследовал больше образовательную, чем практическую, так что не знаю насколько анализ сделанный там пригодится мне в реальной жизни 🙂

Полностью ноутбук сюда не стал выкладывать по двум причинам: он на английском, а переводить мне пока лень, и я не до конца разобрался как красиво перенести ноутбук в вордпресс, делать это полностью вручную, как с прошлым постом, довольно глупо, долго и выглядит в итоге довольно страшно. Пост с примерами работы в Pandas для новичков надеюсь написать в ближайшем будущем.

Конвертируем netCDF в ASCII при помощи Python в Windows

map_eurЗадача: Помочь друзьям виндузятникам сконвертировать netCDF в ASCII, попутно установив на их компьютеры Python, в надежде, что они таки постепенно забудут про дельфи, фортран и прочие гадости. Заодно попробовать удобно ли в ipython notebook писать посты.

?нструменты: cdo, Pyhton(x,y), ipython notebook

Важно: Этот пост изначально целиком написан в ipython notebook, что значит вы сможете при наличии установленного ipython notebook (как это сделать под Windows смотри ниже) исполнять и изменять код представленный в посте. Читать пост с хорошим форматированием, так как оно выглядит в ноутбуке, а также загрузить файл ноутбука можно здесь (загрузка файла в правом верхнем углу). Также доступна pdf версия этого поста автоматически сгенерированная nbconverter. А ещё версия этого поста в виде мимимишной презентации reveal. А теперь собственно пост:

Люди работающие под виндоуз любят ASCII, я знаю, я сам был такой. Они готовы переводить в ASCII всё на свете, включая данные моделей IPCC, которые занимая в бинарном формате сотни гигабайт, будучи переведены в ASCII превращаются в монстров, сжирающих всё доступное дисковое пространство в радиусе нескольких километров. Но таковы реалии виндузовой жизни, многие программы там, особенно занимающиеся отрисовкой и анализом данных, хотят, чтобы им скармливали текст и только текст.

У проблемы перевода из netCDF в ASCII существует множество решений. Можно сделать дамп всего файла, заголовка, или отдельной переменной при помощи программки ncdump.exe. Небольшую инструкцию как это сделать и где взять эту неуловимую программку можно почитать здесь (там пишут про HDF, но для netCDF эта инструкция также подходит). Правда этот дамп вам придётся потом ещё долго и печально разбирать, поскольку то, что вы увидите, будет довольно сильно отличаться от желаемой таблички время/широта/долгота/значение (я знаю мечтаете вы именно об этом :)).

Тем кто знаком с Matlab с некоторых пор вообще стало хорошо, поскольку там появилась поддержка netCDF файлов из коробки и о том, как их там открывать можно почитать тут.

Здесь я расскажу как сконвертировать netCDF в ASCII при помощи Python, при этом формат вывода вы сможете задавать какой пожелаете. Упражняться будем, как обычно, на файлах NCEP реанализа.
Read more »

Виртуальная машина для работы океанолога на основе Ubuntu 12.04

vmoЗадача: обновить виртуальную машину для работы океанолога.

Пришла пора обновить виртуальную машину до нового LTS релиза Ubuntu 12.04. Под катом список установленного софта, инструкция по установке под виндоуз и советы о том как искать и устанавливать недостающие программы.
Read more »

Nexus 7 — впечатления и софт для работы

Задача: чтение .pdf, создание заметок, чтение и правка .doc и .ppt файлов, работа с ssh
?нструмент: Nexus 7

С 27 августа в Германии появилась возможность заказать первый планшет от гугла Nexus 7, чем я немедленно и воспользовался. Неспешный DHL вёз мне его три дня и три ночи, но в конце концов заветная коробочка оказалась в моих цепких лапках.

Я не буду писать обзора со спецификациями, фотографиями внешнего вида и описанием портов, этого добра в сети уже навалом и желающие могут без труда их найти. Конечно, Nexus 7 предназначен в первую очередь для развлечения и потребления информации в неограниченных количествах и с этой ролью он справляется на ура. Однако мне хотелось бы описать впечатления от использования на семидюймовом планшете приложений необходимых мне для работы. Есть ли смысл рассчитывать на этот мощный, но небольшой аппарат в качестве рабочего инструмента и хотя бы частичной замены ноутбуку дома и в командировках?

Пары дней, конечно, не достаточно, для того, чтобы протестировать множество приложений и сравнить их между собой. Но Nexus 7 не первая моя таблетка и весь этот процесс я уже проделал на Asus Transformer и выбрал своих фаворитов, теперь посмотрим смогу ли я с ними комфортно работать. Хочу я в общем не многого: читать .pdf файлы, делать заметки, читать и править .doc и .ppt файлы (неизбежное зло), логиниться по ssh на рабочие сервера (проверка состояния программ и минимальная правка скриптов). Под катом мой рассказ о попытках выполнить эти несложные действия на планшете со всё ещё сравнительно редким семидюймовым форм-фактором.
Read more »

Открываем netCDF в MATLAB (на примере NCEP реанализа)

Задача: Открыть файл формата netCDF в MATLAB
Решение: чистый незамутненный MATLAB

Постараюсь описать здесь ответ на этот животрепещущий вопрос, чтобы было куда отправлять страждущих с различных форумов. Начиная с версии 7.7, Matlab поддерживает работу с форматом netCDF нативно, без различных примочек, которые требовались раньше. Синтаксис, который используется для работы с netCDF файлами довольно странный, ну да, не мне судить. Здесь я опишу, как в Matlab совершить одно простое действие, а именно прочитать данные из файла.
Read more »

NAO индекс в netCDF формате


Задача: перевести ?ндекс Северо-Атлантической Осциляции (NAO) из ASCII в netCDF формат
Решение: используем модули Python PyNio, numpy, time

?ндексом NAO (а также его близким родственником AO) пользуется огромное количество народа, но найти его в netCDF формате мне не удалось. Пришлось делать самому. Кому нужен просто файлик — вот он NAO index in netCDF format (up to 2011.04). Кто хочет посмотреть на очередной пример использования Nio для создания netCDF файла, велкам под кат.
Read more »

Компиляция и настройка MITgcm, океан в компьютере. Часть 3, запуск и просмотр результатов

В предыдущих частях (раз, два) мы рассмотрели компиляцию модели и подготовку к ее запуску. В этой части мы наконец-то заставим модель работать.
Read more »

Компиляция и настройка MITgcm, океан в компьютере. Часть 2, подготовка к запуску

?так, благодаря первой части нашего рассказа, вы продрались сквозь тернии настроек модели, все правильно сделали при компиляции и в итоге получили файл с экзешником модели — mitgcmuv. Скомпилировать модель только пол дела, теперь нужно заставить ее работать.
Read more »

Следующая страница →