Панды: Строительный блок машинного обучения - часть 1

Python - это открытый исходный код. Трудно определить лучший пакет для конкретной задачи. Есть один пакет, который нам абсолютно необходимо изучить для науки о данных, и он называется pandas. Мощные инструменты машинного обучения и привлекательные инструменты визуализации, возможно, привлекли ваше внимание. , вы никуда не денетесь, если у вас нет хороших навыков работы с пандами.

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

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

Jupyter_Notebook

1. Серия "Панды"

Серия похожа на одномерный массив numpy и содержит скалярные значения одного и того же типа (числовые, символьные, даты и времени и т. Д.). Фрейм данных - это просто таблица, в которой каждый столбец представляет собой серию панд.

Создание серии панд:

Серии представляют собой одномерные структуры, подобные массивам, хотя, в отличие от массивов numpy, они часто содержат нечисловые данные (символы, даты, время, логические значения и т. Д.)

Мы можем создавать серии панд из объектов, подобных массиву, с помощью pd.Series ().

Вы могли заметить, что при создании серии Pandas автоматически индексирует ее от 0 до (n-1), где n - количество строк. Но если мы хотим, мы также можем явно установить индекс сами, используя аргумент «index» при создании серии с помощью pd.Series ()

Обычно мы работаем с сериями только в составе фреймов данных. Давайте изучим основы фреймов данных.

2. Фреймворк Pandas

Dataframe - это наиболее широко используемая структура данных при анализе данных. Это таблица со строками и столбцами, причем строки имеют индекс, а столбцы - значащие имена.

Создание фреймов данных из словарей:

Существуют различные способы создания фреймов данных, такие как создание их из списка, словарей, объектов JSON, чтение из файлов txt, CSV и т. Д.

Импорт файлов данных CSV как фреймов данных pandas

Чтение и обобщение фреймов данных:

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

head () и tail () помогают нам заглядывать в верхнюю и нижнюю строки данных.

info () даст более подробный результат

description () помогает нам с итоговой статистикой

Каждый столбец фрейма данных представляет собой серию.

Теперь произвольные числовые индексы трудно читать и работать с ними. Таким образом, мы можем захотеть изменить индексы df на что-то более значимое.

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

3. Сортировка фреймов данных

Вы можете сортировать фреймы данных двумя способами: 1) по индексам и 2) по значениям.

Сортировка по индексу:

Сортировка по значениям:

Различные варианты sort_values

4. Выбор данных

Обратите внимание, что индексирование в пандах начинается с 0

Индексирование на основе позиции и метки: df.iloc и df.loc

Мы видели несколько способов выбора строк и столбцов из фреймов данных. Давайте теперь посмотрим на некоторые другие способы индексирования фреймов данных, которые рекомендует pandas, поскольку они более явные (и менее двусмысленные).

Есть два основных способа индексирования фреймов данных:

1) Индексация на основе позиции с использованием df.iloc

2) Индексирование на основе меток с использованием df.loc

Обратите внимание, что простая запись df [2, 4] вызовет ошибку, поскольку pandas не понимает, является ли 2 целочисленным индексом (третья строка) или это строка с меткой = 2?

С другой стороны, df.iloc [2, 4] явно сообщает pandas, что он должен принимать целочисленные индексы.

Pandas предоставляет функциональность df.loc [] для индексации фреймов данных с помощью меток.

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

Часть 2