Python для Data Science: 8 понятий, которые важно помнить |
||||||||||||||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-05-01 02:41 В последнее время использование Python для Data Science стало популярным, и мы подготовили памятку с темами, которые полезно знать. Затрагиваемые понятия и техники будут сопровождаться коротким описанием и по необходимости видеороликами для получения дополнительного опыта. Работа со списками (например, в цикле for) скучна и утомительна, но Python имеет встроенный инструмент для решения этой проблемы всего в одну строку. Чтобы лучше понять синтаксис, рассмотрите пример: И еще один пример – сравнительный анализ сразу двух способов (с циклом и без):
Если вам надоело создавать функции для операции, которая выполнится всего один раз – используйте лямбда-выражения. Эти функции широко используются в Python для Data Science при создании одноразовых, маленьких и анонимных объектов. “Лямбды” зачастую выглядят меньше, они понятнее и позволяют создать функцию, не создавая ее.
Лямбда-выражения могут делать все, что могут делать обычные функции, даже если они состоят всего из одного выражения.
Если что-то не понятно, рекомендуем посмотреть видео для закрепления.
В дополнение к лямбда-выражениям вам нужно уметь оперировать картами и фильтрами. Map может принимать список и преобразовывать его в новый список, выполняя какую-то операцию над каждым элементом. В примере ниже производятся операции с каждым элементом, а в новый список кладутся значения, умноженные на два.
Работа функции фильтра схожа с картой: она принимает список и правило, но возвращает новое множество исходного списка, сравнивая каждый элемент с булевым правилом фильтрации.
И снова видео для лучшего понимания:
Для создания быстрых и простых массивов NumPy еще не придумали ничего лучше, чем функции arrange и linspace. Каждая из них имеет свое конкретное назначение, достоинства и недостатки. Но основная привлекательность (в отличие от range) в том, что они выводят массивы NumPy, с которыми обычно легче работать Data Science. arrange возвращает равномерно расположенные значения в пределах заданного интервала. Кроме начальной и конечной точек, можно определить размер шага или тип данных.
linspace очень похож на arrange, но с небольшим отличием. linspace возвращает равномерно расположенные числа в пределах заданного интервала, но вместо шага используется количество выводимых элементов. Таким образом, учитывая начальную и конечную точки, а также ряд значений, linspace равномерно распределит их в массиве NumPy. Это особенно полезно для визуализации данных и объявления осей при построении графика – в Python для Data Science пригодится точность чисел с плавающей запятой.
Возможно, вы сталкивались с этим при удалении столбцов в Pandas или при суммировании значений в матрице NumPy. Если нет, то давайте пока воспользуемся примером удаления столбца:
Параметр axis используется для указания на то, с чем вы хотите работать:
Тема непростая, поэтому вот видео для закрепления:
Направление Python для Data Science очень тесно связано с огромными массивами данных, и Pandas очень помогает в этом. Если вы знакомы с SQL, то эти понятия будут для вас более понятными. Данные функции являются способами объединения. Может казаться сложным для понимания, какой метод лучше всего использовать и в каком случае, поэтому давайте их рассмотрим. concat позволяет пользователю добавлять один или несколько фреймов данных ниже или рядом с ним (в зависимости от того, как вы определяете ось). merge объединяет несколько фреймов данных в общих столбцах, которые служат первичным ключом. join, как и merge, объединяет два фрейма данных, но соединяет он их на основании их индексов, а не по указанному столбцу. Вот официальный мануал по Pandas в качестве “домашнего задания” и еще один ролик:
Думайте об apply как о функции карты, но для фреймов Pandas или для рядов. Ряды очень сильно похожи на массивы NumPy. apply применяет функцию к каждому элементу столбца или строки в зависимости от того, что вы укажете. Это может быть полезно при форматировании и обработке значений по всему столбцу DataFrame, без использования цикла.
И напоследок не менее важное – сводные таблицы. Они похожи на одноименные таблицы в Microsoft Excel. Сводная таблица принимает на вход данные из отдельных столбцов и переводит все в многомерное представление. Встроенная в Pandas функция pivot_table создает сводную таблицу в виде электронной таблицы. Вот немного теории и видео:
Источник: towardsdatascience.com Комментарии: |
|||||||||||||||||