Использование 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 »

Миникурс «Python for Geosciences»

Я прочитал небольшое введение в питон для коллег — «Python for Geosciences». Записки с этой презентации доступны на гитхабе. Чтобы от курса была польза вы должны уже знать какой-либо язык программирования, предпочтительно Матлаб.

Они сделаны в виде IPython notebooks, то есть вы сможете загрузив их себе на компьютер и запустив ноутбук IPython исполнять показанный в записках код. Необходимые для работы библиотеки и способ запуска IPython notebooks описаны в третьей части. Чтобы посмотреть онлайн версии ноутбуков прокрутите гитхабовскую страничку немного вниз, там в ридми файле будет оглавление со ссылками на html версии. Код в этих версиях вы исполнять, конечно, не сможете, доступен только просмотр.

Большая часть этих записок также доступна на сайте EarthPy.org.

Рецензия на книгу «Искусство визуализации в бизнесе»

vizСо мной связались из издательства, и попросили написать рецензию на эту книжку. Я рецензий никогда в жизни не писал, но книжка показалась действительно полезной, так что решил попробовать. Это дебют в жанре, так что не судите строго.

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

Вы может и знаете назубок все необходимые статистические методы, но голова чаще всего у вас будет болеть не о них. Вы, возможно, прекрасно разбираетесь в законах небесной механики, но не они будут вам мешать спать по ночам. Bill Howe, профессор data science из Университета Вашингтона задаёт всем учёным, которым он помогает справиться с современными потоками информации в их областях, один и тот же вопрос: «Сколько времени у вас уходит на обработку данных, а сколько собственно на науку? Большинство отвечает не задумываясь, что на обработку данных у них уходит 90% времени. То есть в основном они занимаются поиском данных, их конвертацией из разных безумных форматов, переформатированием их под свои цели и, наконец, визуализацией.
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 »

Ipython notebook. Часть II — пример работы

Задача: Показать ipython notebook в действии. В частности будем рисовать нашу любимую температуру из файла NCEP реанализа.
�?нструменты: ipython notebook, scipy, Basemap

Попробуем использовать ipython notebook, установленный нами в первой части, для чего-нибудь полезного и в процессе ближе познакомимся с его возможностями.
Read more »

Ipython notebook. Часть I — установка в Ubuntu 12.04 и запуск.

Задача: поставить ipython notebook — среду для работы с ipython в браузере, и немножко рассказать о его возможностях.
Инструменты: iptyhon notebook

Думаю, что многим хорошо известен продвинутый питоновский шел ipython. Его создатели большие любители пакета Matematika, и при работе в питоне, они скучали по её рабочей среде, которая реализована в виде записной книжки. Там имеется возможность тут же решить уравнение, отобразить результаты решения, нарисовать график, снабдить всё это текстовым комментарием, а при изменении исходных данных всё пересчитать и перерисовать одним нажатием клавиши.

Примерно с год назад разработчики ipython решили, что так жить больше нельзя, и начали изобретать велосипед разрабатывать свою записную книжку. Да так их понесло, что до сих пор не могут остановиться — очень уж им нравится то, что в итоге получается. Под катом рассказ о том как поставить последнюю стабильную версию ipython notebook под Ubuntu, запустить её и посмотреть примеры. Во второй части я покажу свой пример сеанса работы с notebook.
Read more »

Metview — инструмент для визуализации метеорологических данных


Василий Поддубный прислал мне файл с подробной инструкцией по установке программы Metview под линукс, предположив, что его опыт может пригодиться читателям этого блога. Я, к стыду своему, про эту программу совершенно ничего не знал, и попросил его немножко рассказать о ней. Василий любезно согласился, и под катом вы найдёте его рассказ. Те же, кому и так всё ясно могут скачать файл здесь и заняться установкой программы в убунту, как вы увидите из файла дело это не совсем тривиальное :)
Read more »

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