• Выделяем ДНК банана в домашних условиях

      В анонсах мероприятий, которые проходят в Leader-ID, можно встретить неожиданные вещи. К примеру — мастер-класс по выделению молекул ДНК, для которого достаточно «оборудования» и «реагентов», присутствующих на любой кухне. Этот эксперимент можно провести вместе с детьми — погрузить их, так сказать, в мир биологии и химии.

      Читать далее
    • CRISPR для чайников, или Краткая справка по быстрому редактированию ДНК

        Возможность изменять фрагменты ДНК всегда была святым Граалем биотехнологии и медицины. CRISPR позволяет делать это с невиданной ранее скоростью и эффективностью. Считайте, что биологи раньше работали на пишущей машинке, а благодаря CRISPR в одночасье пересели на MacBook. Не зря открытие этого метода в 2020 году удостоилось Нобелевской премии по химии.

        Под катом — рассказ о появлении CRISPR, принципах работы и применении в настоящем и будущем. Да, вы все верно поняли, это про редактирование коров, синюю клубнику и арбузы размером со сливу с Aliexpress.

        Читать далее
      • Строим простую картограмму Pandas+Vincent

          Добрый день, уважаемые читатели.
          В прошлой статье было описано ввдение в визулизацию данных с Pandas и matplotlib. Сегодня же хотелось бы показать еще один способ отображения результатов анализа с помощью Vincent, который так же очень просто интегрируется с Pandas, хотя и займет это чуть больше действий, чем в случае с matplotlib.
          Читать дальше →
        • Моя шпаргалка по pandas

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

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



          Нельзя сказать, что это — исчерпывающий список возможностей pandas, но сюда входят функции, которыми я пользуюсь чаще всего, примеры и мои пояснения по поводу ситуаций, в которых эти функции особенно полезны.
          Читать дальше →
          • +47
          • 115k
          • 8
        • Как переписать SQL-запросы на Python с помощью Pandas

          • Translation
          В этой статье June Tao Ching рассказал, как с помощью Pandas добиться на Python такого же результата, как в SQL-запросах. Перед вами — перевод, а оригинал вы можете найти в блоге towardsdatascience.com.

          image
          Фото с сайта Unsplash. Автор: Hitesh Choudhary

          Получение такого же результата на Python, как и при SQL-запросе


          Часто при работе над одним проектом нам приходится переключаться между SQL и Python. При этом некоторые из нас знакомы с управлением данными в SQL-запросах, но не на Python, что мешает нашей эффективности и производительности. На самом деле, используя Pandas, можно добиться на Python такого же результата, как в SQL-запросах.
          Читать дальше →
        • Введение в анализ данных с помощью Pandas

          Сегодня речь пойдет о пакете Pandas. Данный пакет делает Python мощным инструментом для анализа данных. Пакет дает возможность строить сводные таблицы, выполнять группировки, предоставляет удобный доступ к табличным данным, а при наличии пакета matplotlib дает возможность рисовать графики на полученных наборах данных. Далее будут показаны основы работы с пакетом, такие как загрузка данных, обращение к полям, фильтрация и построение сводных.
          Читать дальше →
        • 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 1

          • Translation
          • Tutorial
          В этой статье я расскажу о шести инструментах, способных значительно ускорить ваш pandas код. Инструменты я собрал по одному принципу — простота интеграции в существующую кодовую базу. Для большинства инструментов вам достаточно установить модуль и добавить пару строк кода.


          Читать дальше →
        • 5 малоизвестных секретов Pandas

          • Translation

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

          Для новичков: Pandas — это высокопроизводительный набор инструментов для анализа данных на Python с простыми и удобными структурами данных. Название произошло от понятия «panel data», эконометрического термина, которым называют данные о наблюдениях одних и тех же субъектов в течение разных периодов времени.

          Здесь можно скачать Jupyter Notebook с примерами из статьи.
          Читать дальше →
          • +45
          • 12.3k
          • 1
        • Pandasql vs Pandas для решения задач анализа данных

          О чем речь?


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

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

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

          Рассмотрим использование этой библиотеки на конкретных примерах.
          Читать дальше →
          • +20
          • 20.6k
          • 9
        • Как обработать большие датасеты в pandas. Работаем с базой ФИАС, используя python и 8Гб памяти

          • Tutorial
          Особо представлять базу ФИАС нет необходимости:



          Скачать ее можно перейдя по ссылке, данная база является открытой и содержит все адреса объектов по России (адресный реестр). Интерес к этой базе вызван тем, что файлы, которые в ней содержатся достаточно объемны. Так, например, самый маленький составляет 2,9 Гб. Предлагается остановиться на нем и посмотреть, справится ли с ним pandas, если работать на машине, располагая только 8 Гб оперативной памяти. А если не справится, какие есть опции, для того, чтобы скормить pandas данный файл.
          Читать дальше →
        • Python, pandas и решение трёх задач из мира Excel

          • Translation
          Excel — это чрезвычайно распространённый инструмент для анализа данных. С ним легко научиться работать, есть он практически на каждом компьютере, а тот, кто его освоил, может с его помощью решать довольно сложные задачи. Python часто считают инструментом, возможности которого практически безграничны, но который освоить сложнее, чем Excel. Автор материала, перевод которого мы сегодня публикуем, хочет рассказать о решении с помощью Python трёх задач, которые обычно решают в Excel. Эта статья представляет собой нечто вроде введения в Python для тех, кто хорошо знает Excel.


          Читать дальше →
        • 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2

          • Translation
          • Tutorial
          В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не только ускорить pandas, но и кластеризовать его, таким образом позволив обрабатывать большие данные.



          Часть 1

          • Numba
          • Multiprocessing
          • Pandarallel

          Часть 2

          • Swifter
          • Modin
          • Dask
          Читать дальше →
          • +14
          • 3.5k
          • 4
        • Ускорение разведочного анализа данных с использованием библиотеки pandas-profiling

          • Translation
          Первым делом, приступая к работе с новым набором данных, нужно понять его. Для того чтобы это сделать, нужно, например, выяснить диапазоны значений, принимаемых переменными, их типы, а также узнать о количестве пропущенных значений.

          Библиотека pandas предоставляет нам множество полезных инструментов для выполнения разведочного анализа данных (Exploratory Data Analysis, EDA). Но, прежде чем воспользоваться ими, обычно нужно начать с функций более общего плана, таких как df.describe(). Правда, надо отметить, что возможности, предоставляемые подобными функциями, ограничены, а начальные этапы работы с любыми наборами данных при выполнении EDA очень часто сильно похожи друг на друга.



          Автор материала, который мы сегодня публикуем, говорит, что он — не любитель выполнения повторяющихся действий. В результате он, в поисках средств, позволяющих быстро и эффективно выполнять разведочный анализ данных, нашёл библиотеку pandas-profiling. Результаты её работы выражаются не в виде неких отдельных показателей, а в форме довольно подробного HTML-отчёта, содержащего большую часть тех сведений об анализируемых данных, которые может понадобиться знать перед тем, как приступать к более плотной работе с ними.
          Читать дальше →
          • +26
          • 13.4k
          • 1
        • Как прогнозировать результаты спортивных матчей с помощью проекта ML на Python Pandas, Keras, Flask, Docker и Heroku

          • Translation
          • Tutorial
          Во время Чемпионата мира по регби в 2019 году я сделал небольшой научный проект Data Science, чтобы попытаться спрогнозировать результаты матчей, написав о нем здесь. Я развил проект до примера от начала до конца, чтобы продемонстрировать, как развернуть модель машинного обучения в виде интерактивного веб-приложения.

          Приятного чтения
        • Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas



            Курс состоит из:


            • 10 статей на Хабре (и то же самое на Медиуме на англ.)
            • 10 лекций (Youtube-канал на русском + более свежие лекции на англ.), подробное описание каждой темы – в этой статье
            • воспроизводимых материалов (Jupyter notebooks) в репозитории mlcourse.ai и в виде Kaggle Dataset (нужен только браузер)
            • отличных соревнований Kaggle Inclass (не на "стаканье xgboost-ов", а на построение признаков)
            • домашних заданий по каждой теме (в репозитории — список демо-версий заданий)
            • мотивирующего рейтинга, обилия живого общения и быстрой обратной связи от авторов

            Текущий запуск курса – с 1 октября 2018 года на английском языке (ссылка на опрос для участия, заполняйте на английском). Следите за объявлениями в группе ВК, вступайте в сообщество OpenDataScience.

            Читать дальше →
          • Руководство по использованию pandas для анализа больших наборов данных

            • Translation
            • Tutorial
            При использовании библиотеки pandas для анализа маленьких наборов данных, размер которых не превышает 100 мегабайт, производительность редко становится проблемой. Но когда речь идёт об исследовании наборов данных, размеры которых могут достигать нескольких гигабайт, проблемы с производительностью могут приводить к значительному увеличению длительности анализа данных и даже могут становиться причиной невозможности проведения анализа из-за нехватки памяти.

            В то время как инструменты наподобие Spark могут эффективно обрабатывать большие наборы данных (от сотен гигабайт до нескольких терабайт), для того чтобы полноценно пользоваться их возможностями обычно нужно достаточно мощное и дорогое аппаратное обеспечение. И, в сравнении с pandas, они не отличаются богатыми наборами средств для качественного проведения очистки, исследования и анализа данных. Для наборов данных средних размеров лучше всего попытаться более эффективно использовать pandas, а не переходить на другие инструменты.



            В материале, перевод которого мы публикуем сегодня, мы поговорим об особенностях работы с памятью при использовании pandas, и о том, как, просто подбирая подходящие типы данных, хранящихся в столбцах табличных структур данных DataFrame, снизить потребление памяти почти на 90%.
            Читать дальше →
            • +26
            • 71.8k
            • 8
          • Как собрать радио для коллег без единого разрыва

              Привет, Хабр! Вот уже почти 5 из 10 лет я совмещаю работу сетевиком с любимым хобби — подкастом про IT. За это время наш сервер для аудиотрансляций развивался, менялся и оказался полезен не только нам, но и коллегам. Недавно я правильно клонировал нашу сборку на базе Linux для радио ЦОД.fm в DataLine и решил поделиться своими наработками со всем сообществом.

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

              Читать далее
            • Статистика в кармане: Портативная СУБД с базой Росстата для исследователей и не только

                image

                Возможно, глядя на этот старый советский плакат, вы подумаете, что я здесь буду агитировать сознательных граждан России участвовать в переписи населения… Но спешу вас разуверить: статья вовсе не об этом. Скорее это рассказ о том, какая официальная статистика собирается в России, где ее искать и как скачать все данные к себе на компьютер или портативное устройство (отсюда и название) и удобно ей пользоваться. Если вам это интересно, читайте дальше!
                Читать дальше →
              • Python-пакеты для Data Science

                • Translation
                Python — это один из самых распространённых языков программирования. Хотя стандартные возможности Python достаточно скромны, существует огромное количество пакетов, которые позволяют решать с помощью этого языка самые разные задачи. Пожалуй, именно поэтому Python и пользуется такой популярностью среди программистов. Можно наугад назвать какую-нибудь сферу деятельности и в экосистеме Python, почти гарантированно, найдутся отличные инструменты для решения специфических задач из этой сферы. В наше время весьма востребованы наука о данных (Data Science, DS) и машинное обучение (Machine Learning, ML). И там и там Python показывает себя наилучшим образом.

                Помимо Python в DS-проектах часто используют язык программирования R. R быстрее Python и имеет больше статистических и вычислительных библиотек. Но в этом материале мы будем говорить исключительно о библиотеках (пакетах) для Python, о которых стоит знать каждому, кто хочет добраться до профессиональных вершин Data Science.



                Прежде чем переходить к обзору библиотек, остановимся на том, что это такое — «наука о данных», и на том, почему в этой сфере стоит пользоваться языком Python.
                Читать дальше →
                • +24
                • 7.6k
                • 5
              • Напишем и поймем Decision Tree на Python с нуля! Часть 5. Информационная энтропия

                • Translation
                • Tutorial
                Данная статья — пятая в серии. Ссылки на предыдущие статьи: первая, вторая, третья, четвертая

                5.1 Информационная энтропия (Средний объем информации)


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

                В начале, определимся с понятием объем информации. Интуитивно понятно, что объем данных = сложность, запутанность данных. Дерево решений собирает данные с одинаковыми значениями классов с каждого ветвления, таким образом снижая степень запутанности значений класса. Следовательно, при выборе атрибута, согласно которому лучше всего проводить ветвление, опираться стоит на то, насколько простыми стали данные после разветвления.
                Читать дальше →