Когда я захочу изучить тонкости Read-Evaluate-Print Loop (REPL), в частности, как работает сервер Tornado, IPython kernel, как работать с сокетами..., zeromq - Distributed Computing Made Simple я использую ссылки из этого поста...
В iPython мои (черновики) упражнения с Python, в разделе "Mining" собраны материалы по R, Rapid Miner, Weka, Gate..., в "Projects" фрагменты старых и заготовки для новых исследований... записано для себя, открыто для всех...
среда, 26 февраля 2014 г.
Справочники по объектам HTML Javascript в IPython Notebook, и немного о %magic и корне сервера.
Здесь мы собрали справки по %%html %%javascript, потом загрузили from IPython.display import Javascript и распечали справку help(Javascript) ... Потом нашли справочники js и вставили их во фреймы, потом нашли корневую папку сервера http://127.0.0.1:8888/ и научились грузить во фреймы локальные файлы... Как и следовало ожидать, магические команды - это вызовы функции javascript(self, line, cell)...
понедельник, 24 февраля 2014 г.
Как получить справку в IPython... о %magic
Здесь мы рассмотрим примеры различных вариантов вызова справки help(), ?, object?, %quickref, (you can use the magic commands) %pdoc, %pdef, %psource and %pfile, а также распечатаем все возможные %magic команды (%lsmagic). А про клавишу 'TAB' не забудем никогда.
среда, 19 февраля 2014 г.
Короткий пост об обновлении Anaconda "Conda update conda"
При обновлении Anaconda возникла проблема (формирования ... стека?) В процессе изысканий я решил сделать лог (см.ниже). А вот прямая ссылка в Google Drive
Introduction to Pandas and Vincent
Этот ролик Махди Юсуфа, в предыдущем посте я "законспектировал" его пример, а этот пост тоже оправдал ожидания. Здесь есть примеры: создания индекса по времени DatetimeIndex, ресемплинга (resampling)временных рядов... и пример импорта курса акций c Yahoo.finance. Вот только визуализация (vincent)не получилась
пятница, 14 февраля 2014 г.
Pandas Data Frames and Kevin Durant 2012-13 Game Log with Mahdi Yusuf
Махди Юсуф записал 20-ти минутный скринкаст с данными, которые мне удалось найти по имени файла Kevin Durant 2012-13 Game Log Он анализирует действия игрока Кевина Дюранта...
Файл csv пришлось предварительно отредактировать, создание новой таблицы, процедура замены строки "40:00" числом (секунд) -2400, группировка... Пост заканчивается диаграммой, построенной с помощью модуля vincent - Vega
Файл csv пришлось предварительно отредактировать, создание новой таблицы, процедура замены строки "40:00" числом (секунд) -2400, группировка... Пост заканчивается диаграммой, построенной с помощью модуля vincent - Vega
четверг, 13 февраля 2014 г.
How can I sort in a DataFrame in Pandas
Импортируем csv -> DataFrame (бейсболисты 1952 строки), строим таблицу .Year.value_counts(), выбираем 2010 год - Create a subset of mlb dataset for Year 2010, сортируем по индексу (его можно задать разными способами), строим диаграмму доходов top-10 игроков в 2010году.
Python for Data Analysis Lightning Tutorials Pandas Cookbook Series
The groupby operation with Pandas
В видеоролике: groupby=split->analize->combine, потом загружаем список бейсболистов (год,имя, доход,амплуа, клуб), группируем его по годам (DataFrameGroupBy), сортируем каждый год по доходам, из каждого года выбираем игрока с максимальным доходом (generator object). Строим диаграмму Доход/год... Проверяем при этом команду импорта %pylab inline(Populating the interactive namespace from numpy and matplotlib)
DataFrame object in Pandas
DataFrame object - это таблица с индексом. Задаем список дат (datetime), при помощи словаря задаем четыре столбца таблицы, вырезаем один столбец (Series)... следующий пример (Titanic): читаем csv-> DataFrame, еще пример "Olympic Medalists"
Python for Data Analysis Lightning Tutorials is a series of tutorials in Data Analysis, Statistics, and Graphics using Python. The Pandas Cookbook series of tutorials provides recipes for common tasks and moves on to more advanced topics in statistics and time series analysis.
среда, 12 февраля 2014 г.
How to Create a Series Object in Pandas... Key take away
Объект Series обладает своиствами списка, массива и словаря. На первый взгляд это именно то, что надо для работы с CSV файлами. Потому здесь изучаем 20-минутный видеоролик.
Видеоролик: как использовать Panadas для работы с CSV файлом
После длиннющих мануалов мне так понравилось начало этого видеоролика, что я скачал похожий файл (baby-names.csv) и решил поупражняться вместе с автором видео. Пока не знаю, подойдет ли файл... имена в Великобритании. Здесь я попробовал (наконец-то) использовать относительный путь при импорте csv файла в объект (frameset)Pandas (см. In[4])
Первое знакомство с Pandas импорт серий Yahoo и World Bank
Вот подробная документация (ниже две ссылки на один и тот же сайт). Я с ней познакомился, когда искал варианты работы с csv файлами. Причем, просто мне чем-то не понравились PyTables. Так что первая ссылка на csv-объект. 10 Minutes to Pandas, pandas: powerful Python data analysis toolkit
вторник, 11 февраля 2014 г.
Пример из руководства по PyTabes
Здесь мы рассмотрим второй пример из PyTables Tutorials. Код этого и других примеров можно найти в репозитории GitHub PyTables
Для того, чтобы понять, чего не могут PyTables, нужно прочитать Hints for SQL users. Здесь ясно можно проследить аналогии: файл .h5 это база данных, классы или словари таблиц - это определение бполей БД..., а вот с перекрестными запросами проблемы...
Для того, чтобы понять, чего не могут PyTables, нужно прочитать Hints for SQL users. Здесь ясно можно проследить аналогии: файл .h5 это база данных, классы или словари таблиц - это определение бполей БД..., а вот с перекрестными запросами проблемы...
воскресенье, 9 февраля 2014 г.
Устанавливаем PyTables и получаем проблемы с Pandas и NumPy... Вся сборка под угрозой... Что делать?
Универсальный способ собрать стек - переустановить последние версии. После чтения постов про компиляцию и перекомпиляцию... было найдено универсальное средство - неофициальная библиотека экзешников для установки дополнений. Поскольку на эти грабли я наступил второй раз (использовал эту библиотеку и забыл про это), то публикую этот пост в назидание самому себе.
четверг, 6 февраля 2014 г.
«The Zen of Python» и мои AGILE комплексы привели к неожиданным выводам
С чего начать? С моих проблем или с цитирования? Пожалуй, сначала найду и скопирую философию Пайтона и AGILE манифест. Именно в них я хочу найти быстрые ответы. А потом, пользуясь возможностями редактора, добавлю перед ними свои рассуждения...
среда, 5 февраля 2014 г.
Проба кода grab и furl для задачи "Процессинг csv таблиц"
У меня в репозитории ждут своего часа с десяток бибилиотек для парсинга html страниц. Здесь мы посмотрим, как работает grab.
С одной стороны, автор старается быть последовательным: сначала мы подготовили соглашение о наименованиях (файлов и директорий), потом, вот уже третий пост, последовательно кодируем процессы работы с файлами CSV.
Здесь подошла очередь процесса сохранения скачаных файлов. Очевидно, что сначала файлы нужно скачать. Потому здесь рассмотрим пример с библиотекой grab.
С одной стороны, автор старается быть последовательным: сначала мы подготовили соглашение о наименованиях (файлов и директорий), потом, вот уже третий пост, последовательно кодируем процессы работы с файлами CSV.
Здесь подошла очередь процесса сохранения скачаных файлов. Очевидно, что сначала файлы нужно скачать. Потому здесь рассмотрим пример с библиотекой grab.
понедельник, 3 февраля 2014 г.
Кодировка UTF-8 Или, как дружить с объектами Str и Unicode Pyton 2.x
А не замахнуться ли нам на UTF-8 и прочий Unocode, головоломки с ASCII, Latin-1, cp1251, !chcp 65001, encode('cp1251'), unicodedata, codecs.open(filepath, encoding='cp1251')... и еще line.encoding, repr() - посмотреть кодировку, ord(),chr(),hex(),bin()
среда, 29 января 2014 г.
Код для формирования имени загруженного файла CSV
Предположим, что мы скачиваем CSV файл. Нам нужно определить папку (путь) для записи и как-то назвать этот файл. Ранее мы подготовили соглашение о наименованиях (далее по тексту "СН") и собираемся ему следовать. Здесь мы проверим код для соответствующих функций на языке Python.
вторник, 28 января 2014 г.
Формируем список URL для скачивания файлов CSV со счетчика
Выберем в качестве счетчика top.mail.ru Здесь есть великолепныя возможности: 1) Скачивать CSV файлы, 2) выбирать период (год, день, неделя, месяц),3) выбирать параметры пол, возраст...
Все параметры передаются в подстроке запроса URL. Таким образом, задавая разные параметры в строках URL, мы можем сформировать список файлов для скачивания. Здесь мы напишем функции для формирования списка URL на Python 2.7
Все параметры передаются в подстроке запроса URL. Таким образом, задавая разные параметры в строках URL, мы можем сформировать список файлов для скачивания. Здесь мы напишем функции для формирования списка URL на Python 2.7
понедельник, 27 января 2014 г.
Как создать структуру папок. Скрипты и правила (соглашения о наименованиях)
Очевидно, что для того, чтобы создать сразу несколько папок с несколькими файлами в них, проще использоват скрипт. Здесь попробуем написать два скрипта, на Питоне... и в командной оболочке Windows.
Как создать создать несколько папок и файлов для скачивания и последующей обработки файлов (картинка)
В процессе постановки задачи сначала в Постановка задачи "обработка файлов в папках, а потом в заключительной части поста Постановка задачи "Процессинг csv таблиц" (итерация 1) мы почти определились со структурой папок проекта. Вот те диаграммы, которые мы использовали в упомянутых постах:
четверг, 23 января 2014 г.
Постановка задачи "Парсинг URL в csv таблице" (итерация 1 продолжение)
В предыдущем посте мы определились с тем, как мы будем преобразовывать CSV таблицы на первом этапе, сначала во всех файлах мы приклеиваем (слева) дополнительные вспомогательные столбцы, а потом собираем все строки в один общий файл, где несколько тысяч строк.
вторник, 21 января 2014 г.
Постановка задачи "Процессинг csv таблиц" (итерация 1)
После того, как мы скачали несколько десятков однотипных файлов, нужно классифицировать их, добавить к ним столбцы, почистить от мусора, потом склеить строки... Здесь мы выбираем наиболее оптимальную структуру папок, структуру имен, содержание служебных файлов... Для этого мы будем использовать функции записи и чтения строк, import CSV, преобразование строк в объект датавремя
воскресенье, 19 января 2014 г.
Постановка задачи "обработка файлов в папках
Пока я твердо знаю, только то, что при парсинге интернет у меня в компьютере будет собираться уйма "сырых" файлов, из которых я буду компоновать новые файлы-таблицы... Через 3-5 месяцев мне будет трудно вспомнить, что и зачем я делал, где и что лежит... Как не забивать свой винчестер таким мусором? Как разложить все по полочкам?
пятница, 17 января 2014 г.
При вызове консольных команд Windows из Notebook iPythons вместо кириллицы крякозябы
В iPython есть великолепная возможность - вызывать системные команды прямо из ячеек. И все работает, кроме кодировки... Эти строки я пишу в браузере. Но во всех консолях iPython картина аналогичная, вот пример
четверг, 16 января 2014 г.
Еще раз об обработке потоков (пример Converter, reader, writer)
фрагменты кода из книги М.Лутца гл.30, пример: "Вспомните универсальную функцию обработки потоков данных, которая частично была реализована во введении в ООП в главе 25" (стр.705) ...объекты чтения (reader) и записи (writer) встраиваются в экземпляр класса (композиция), а логика преобразования поставляется в виде подкласса (наследование), а не в виде отдельной функции.
Ошибка nbconvert при конвертации файла .ipynb в .html
Эта ошибка появляется уже второй раз. Первый раз я просто поменял формат в некоторых ячейках с "Markdown" "Raw text", в других ячейках обнаружились "неправильные html теги",
Возможности отладки и приемы в iPython Notebok
В разделе Глава 28. Подробнее о программировании классов есть несколько интересных тем. В частности, подраздел Дзен пространств имен в Python: классификация имен происходит при присваивании показался довольно громоздким, зато пораздел Словари пространств имен многое прояснил в понимании пространств имен.
Однако, здесь я решил обратить внимание на средства отладки, которые использовались для пояснений к "словарям..."
Связанные и несвязанные методы (self.)
Методы – это разновидность объектов, напоминающая функции, – они могут присваиваться переменным, передаваться функциям, сохраняться в структурах данных и так далее. Доступ к методам класса осуществляется через экземпляр класса или через сам класс и, фактически, в языке Python имеется две разновидности методов:
вторник, 14 января 2014 г.
Шаблоны проектирования "является" и "имеет" на примере с пиццерией
Здесь фрагменты кода из книги М.Лутца гл.30, пример с пиццерией - "наследование" , "композиция"... "для этого просто замените имена существительные классами, глаголы – методами, и вы получите первый черновой набросок проекта" (?!?).
Однако, мне этот пример показался полезным для того, чтобы поупражнятся с вызовами (видимостью) атрибутов классов и экземпляров классов.
Подписаться на:
Сообщения (Atom)