IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог

     14.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Советуем
     14.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Статьи
     14.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Статьи

Pandasql vs Pandas для решения задач анализа данных

В этой статье я бы хотела рассказать о применении python-библиотеки Pandasql. 

Многие люди, сталкивающиеся с задачами анализа данных, уже, скорее всего, знакомы с библиотекой Pandas. Pandas позволяет быстро и удобно работать с табличными данными: фильтровать, группировать, делать join над данными; строить сводные таблицы и даже рисовать графики (для простых визуализации достаточно функции plot(), а если хочется чего-то позаковыристее, то поможет библиотека matplotlib). На Хабре не раз рассказывали о применении этой библиотеки для работы с данными: раз, два, три.

Но по моему опыту далеко не все знают о библиотеке Pandasql, которая позволяет работать с Pandas DataFrames как с таблицами и обращаться к ним, используя язык SQL. В некоторых задачах проще выразить желаемое с помощью декларативного языка SQL, поэтому я считаю, что людям, работающим с данными, полезно знать о наличии такой функциональности. Если говорить о реальных задачах, то я использовала эту библиотеку для решения задачи join'a таблиц по нечетким условиям (необходимо было объединить записи о событиях из разных систем по примерно совпадающему времени, разрыв порядка 5 секунд).

Рассмотрим использование этой библиотеки на конкретных примерах.

     14.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Интересные проекты, инструменты, библиотеки

irc-autobot - Context Manager для элементарного создания IRC ботов

from autobot import Autobot

with Autobot('irc.freenode.net', '#python', '[Wally]',
           log='transcript.log') as bot:
while True:
  r = bot.read() #  read will write to the specified log
  if "some trigger" in r['message']:
    bot.send("some message back to the chat")
  #respond to privmsg
  if r['command'] == 'PRIVMSG':
    bot.send("some message or command")

     15.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Релизы

ptpython - 0.31

Хороший REPL для Python. Изменения описаны по ссылке https://allmychanges.com/p/python/ptpython/#0.31. Скачать можно по ссылке: https://pypi.python.org/pypi/ptpython

     13.03.2016       Выпуск 116 (07.03.2016 - 13.03.2016)       Статьи

Python лучше чем C (Или наоборот?)

Рассмотрим применимость двух инструментов исходя из вычислительных мощностей

     14.03.2016       Выпуск 116 (07.03.2016 - 13.03.2016)       Релизы

PyPy 5.0

Вышла новая версия альтернативного интерпретатора Python с JIT компилятором. Объявляется о 30% ускорении прогрева JIT и сокращение потребления памяти на столько же. Кроме того улучшен C-API layer, что позволило, например, полноценно использовать скопилированные с помощью cython части lxml - теперь эта библиотека проходит все тесты.

     13.03.2016       Выпуск 116 (07.03.2016 - 13.03.2016)       Релизы

pex - 1.1.4

Библиотека и утилита для генерации .pex (Python EXecutable) файлов. Изменения описаны по ссылке https://allmychanges.com/p/python/pex/#1.1.4. Скачать можно по ссылке: https://pypi.python.org/pypi/pex

     11.03.2016       Выпуск 116 (07.03.2016 - 13.03.2016)       Новости
     13.03.2016       Выпуск 116 (07.03.2016 - 13.03.2016)       Релизы

aiohttp - 0.21.4

http клиент/сервер для asyncio. Изменения описаны по ссылке https://allmychanges.com/p/python/aiohttp/#0.21.4. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp/

     12.03.2016       Выпуск 116 (07.03.2016 - 13.03.2016)       Релизы

django-filter - 0.13.0

Django-приложение для гибкой фильтрации объектов модели (querysets). Изменения описаны по ссылке https://allmychanges.com/p/python/django-filter/#0.13.0. Скачать можно по ссылке: https://pypi.python.org/pypi/django-filter