Python для Data Science: 8 понятий, которые важно помнить

2
14619
Добавить в избранное

В последнее время использование Python для Data Science стало популярным, и мы подготовили памятку с темами, которые полезно знать.

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

Однострочные списки

Работа со списками (например, в цикле for) скучна и утомительна, но Python имеет встроенный инструмент для решения этой проблемы всего в одну строку. Чтобы лучше понять синтаксис, рассмотрите пример:

one-line list

И еще один пример – сравнительный анализ сразу двух способов (с циклом и без):

Лямбда-выражения

Инструменты Python

Если вам надоело создавать функции для операции, которая выполнится всего один раз – используйте лямбда-выражения. Эти функции широко используются в Python для Data Science при создании одноразовых, маленьких и анонимных объектов. “Лямбды”  зачастую выглядят меньше, они понятнее и позволяют создать функцию, не создавая ее.

Лямбда-выражения могут делать все, что могут делать обычные функции, даже если они состоят всего из одного выражения.

Если что-то не понятно, рекомендуем посмотреть видео для закрепления.

Карты и фильтры

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

Работа функции фильтра схожа с картой: она принимает список и правило, но возвращает новое множество исходного списка, сравнивая каждый элемент с булевым правилом фильтрации.

И снова видео для лучшего понимания:

arange и linspace

Для создания быстрых и простых массивов NumPy еще не придумали ничего лучше, чем функции arrange и linspace. Каждая из них имеет свое конкретное назначение, достоинства и недостатки. Но основная привлекательность (в отличие от range) в том, что они выводят массивы NumPy, с которыми обычно легче работать Data Science.

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

linspace очень похож на arrange, но с небольшим отличием. linspace возвращает равномерно расположенные числа в пределах заданного интервала, но вместо шага используется количество выводимых элементов. Таким образом, учитывая начальную и конечную точки, а также ряд значений, linspace равномерно распределит их в массиве NumPy.

Это особенно полезно для визуализации данных и объявления осей при построении графика – в Python для Data Science пригодится точность чисел с плавающей запятой.

Что такое axis?

Python для Data Science

Возможно, вы сталкивались с этим при удалении столбцов в Pandas или при суммировании значений в матрице NumPy. Если нет, то давайте пока воспользуемся примером удаления столбца:

Параметр axis используется для указания на то, с чем вы хотите работать:

  • 1 – столбец;
  • 0 – строка.

Тема непростая, поэтому вот видео для закрепления:

concat, merge и join

Направление Python для Data Science очень тесно связано с огромными массивами данных, и Pandas очень помогает в этом. Если вы знакомы с SQL, то эти понятия будут для вас более понятными. Данные функции являются способами объединения. Может казаться сложным для понимания, какой метод лучше всего использовать и в каком случае, поэтому давайте их рассмотрим.

concat позволяет пользователю добавлять один или несколько фреймов данных ниже или рядом с ним (в зависимости от того, как вы определяете ось).

3

merge объединяет несколько фреймов данных в общих столбцах, которые служат первичным ключом.

2

join, как и merge, объединяет два фрейма данных, но соединяет он их на основании их индексов, а не по указанному столбцу.

1

Вот официальный мануал по Pandas в качестве “домашнего задания” и еще один ролик:

Использование apply в Pandas

Думайте об apply как о функции карты, но для фреймов Pandas или для рядов. Ряды очень сильно похожи на массивы NumPy. apply применяет функцию к каждому элементу столбца или строки в зависимости от того, что вы укажете. Это может быть полезно при форматировании и обработке значений по всему столбцу DataFrame, без использования цикла.

Сводные таблицы

И напоследок не менее важное – сводные таблицы. Они похожи на одноименные таблицы в Microsoft Excel. Сводная таблица принимает на вход данные из отдельных столбцов и переводит все в многомерное представление. Встроенная в Pandas функция pivot_table создает сводную таблицу в виде электронной таблицы.

Вот немного теории и видео:

Оригинал

Другие материалы по теме:

Интересуетесь программированием на Python?

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

И не беспокойтесь, мы тоже не любим спам. Отписаться можно в любое время.




Добавить комментарий