Посты с тэгом python


[Перевод] Как обработать датафрейм с миллиардами записей за считанные секунды?

Анализ больших данных в Python переживает эпоху возрождения. Она началась с библиотеки NumPy. Эта библиотека, кстати, является одной из составных частей тех инструментов, о которых пойдёт речь в этом материале. В 2006 году тема обработки больших данных постепенно набирала обороты, этот процесс ускорился с появлением Hadoop. Потом появилась библиотека pandas со своими структурами данных DataFrame, которые обычно называют просто «датафреймами». В 2014 году большие данные стали мейнстримом, в этом же году появилась платформа Apache Spark. В 2018 году вышла библиотека Dask и другие средства для анализа данных в Python.



Каждый месяц мне попадаются новые инструменты для анализа данных в Python, которые мне очень хочется освоить. Потратив час-другой на их изучение, можно, в долгосрочной перспективе, сэкономить немало времени. Кро



[Перевод] Как GPU-вычисления буквально спасли меня на работе. Пример на Python

Привет, Хабр!

Сегодня мы затрагиваем актуальнейшую тему — Python для работы с GPU. Автор рассматривает пример, тривиальный в своей монструозности, и демонстрирует решение, сопровождая его обширными листингами. Приятного чтения!


Читать дальше →



wxpython. Доступность еще доступнее

Всем привет.
Хотя многие приложения все больше переходят в разряд WEB, я хочу в данной статье поднять тему о прикладном ПО.
А точнее о замечательной библиотеке GUI wxpython, которая является оберткой над WX Widgets.
Она очень удобна, проста в освоении, имеет множество компонентов для построения графических интерфейсов любой сложности.
А самое главное — она самая доступная в плане accessibility.
И хотя большинство компонентов доступны сразу из коробки, все равно есть некоторые с плохой доступностью.


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


Читать дальше →


[Перевод] 10 полезных практик для ML-разработчиков на Питоне

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

Тот факт что мы создаем модели не делает нас особенными. Это не дает нам права писать плохой код.


Читать дальше →



Змеиный сахар или пишем свой range в JavaScript

Многие любят Python… Новички восщищаются отсутствием точек с запятой, а продвинутые радуются действительной простотой. Сегодня речь и пойдет о том, как в JavaScript реализовать подобие той самой простоты Python, а конкретно функцию range

В Python по функции range можно итерировать или, например, преобразовать в массив — list(range(begin, end)).

Но вопрос в том, можно ли мощностями JavaScript создать что-то подобное и при этом, чтобы решение выглядело нативным и простым?

Первое, что приходит в голову — написать подобный класс:

function range(from, to, step = 1){
    this.current = from
    this.to = to
    this.step = step

    this.next = () => this.current++ % to
}


Читать дальше →


[Из песочницы] Django: один пользователь для всего

Проблема


Всем привет. При разработке API для очередного веб-портала я взял свой привычный стек:


  • Django
  • django-rest-framework

Но в этот раз стояла довольно непривычная задача — сделать одну User модель, которая может иметь несколько разных профилей (Исполнитель, Заказчик). И наличие каждого из профилей дает разные полномочия на работу с одними и теми же ресурсами.


Такой подход позволяет пользователям не заводить несколько учетных записей для каждой роли, что зачастую было бы невозможно, ввиду ограничений на модель: уникальный email или номер телефона.


Итак, опишем возникшие перед нами проблемы:


  1. Один пользователь – несколько профилей.
  2. Как организовать права каждого из профилей.
  3. Доступ к одним тем же ресурсам от разных профилей.

Ниже я приведу свой способ решения этой задачи, который сложился из уже наработанных привычек по организации Django-проекта,



Вставить массив numpy в базу данных MySQL через Python

Если Вы столкнулись с проблемой, что не можете нормально сохранить массив numpy в базу данных MySQL, то эта заметка для Вас! Оригинал поста опубликован в моем блоге.

Я выбрал для себя способ сохранения через модуль pickle. С помощью него Вы спокойно сохраните массив numpy любой размерности в blob-е базы MySQL.
Читать дальше →



Как выбрать лучший инструмент автоматизации для вашей работы в Revit. Дизайнеры против программистов

Новые средства автоматизации выводят планирование на новый уровень развития.

Какой инструмент позволит нам сэкономить тысячи часов за счет автоматизации процессов BIM в Revit?


На данный момент у нас есть 4 варианта автоматизации Revit:



  • Dynamo (графическое программирование с открытым исходным кодом)
  • Rhino.Inside (бета-версия, с Кузнечиком это как Динамо)
  • PythonShell или pyRevit (Python с Revit API)
  • C # (C # с Revit API)


На графике я собрал свои мысли на эту тему:



Эта диаграмма может помочь вам объяснить менеджерам, в каких случаях, что нужно применять и какова ценность каждого из инструментов.


[Из песочницы] Жесткий цигун с условными знаками или зачем нужен geometry generator


Требования заказчика к условным обозначениям на картах кажутся вам нереальными? Дальше вы узнаете, как с помощью geometry generator, QGIS и Python сделать так, чтобы ваши условники были лучше всех.

Читать дальше →


PyTrace — Time Travel Debugger для Python

Мне часто приходится сталкиваться с отладкой.

Иногда я ставлю точку останова, но понимаю что уже слишком поздно, и надо начинать все сначала.

Более того, перед началом отладки, я подготавливаю данные, очищаю базу данных от лишних записей. Все для того, чтобы забыть зайти в, на первый взгляд, безобидный метод, и начать весь процес заново.

Усложняется все тем, что приходится работать с унаследованным кодом, который иногда сложно понять.

Возможно ли лучше понимать запутанный код? А что, если мы сможем понимать такой код, быстрее чем тот, кто его написал?

Встречайте,

PyTrace — это трейсер с возможностями Time-Travel Debugging-а


Читать дальше →