Что такое панды?

Pandas - это инструмент для анализа и обработки данных с открытым исходным кодом для Python.

Имя? Это происходит от эконометрического термина панельные данные, который представляет собой многомерные данные с измерениями во времени. Это также довольно мило, так что это бонус!

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

Установка и импорт

Если у вас установлен Python, скорее всего, у вас уже есть pip. Если нет, то есть простые инструкции по установке здесь. Pip позволяет нам легко устанавливать пакеты из Python Package Index из командной строки. Pandas можно установить с помощью pip вместе с его зависимостью NumPy.

Всякий раз, когда вам нужно использовать pandas для одного из ваших проектов, его можно импортировать следующим образом:

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





Основы

Чтение файлов с помощью Pandas

Если у вас есть данные, с которыми вы хотите что-то сделать, вы, вероятно, не просто запомните их. Скорее всего, он у вас в каком-то файле. Удобно, что Pandas позволяет нам легко считывать данные с помощью самых разнообразных способов их хранения! Это перенесет данные в Pandas с одним из объектов Panda, о котором мы поговорим позже.

Например, самые распространенные способы:

Как всегда, весь код для этого сообщения в блоге можно найти на моем GitHub.

Просмотр наших данных

Если вы хотите получить общее представление о том, как выглядят ваши данные, вы можете использовать методы head и tail. Они позволяют вам видеть фрагмент первых нескольких и нескольких последних (по умолчанию 5) записей ваших данных соответственно.

Для целей этого руководства я буду использовать инструмент, известный как Jupyter Notebook, чтобы мы могли легко увидеть результаты нашего кода. Я использовал набор данных из шоу Food Network Chopped, любезно предоставленного Jeffrey Braun. Все данные хранятся в CSV-файле с именем chopped.csv.

Сериал

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

Согласно документации Pandas, серия - это одномерный помеченный массив, способный хранить данные любого типа (целые, строковые, с плавающей точкой, объекты Python и т. Д.). Важно отметить, что серия построена на базе NumPy ndarray, поэтому все ее функции также перенесены в нашу серию.

По сути, это похоже на электронную таблицу с двумя столбцами: метки, которые мы будем называть индексом, и значениями, которые могут быть любыми из стран, цен или рейтинга MySpace «Top 8».

Удобно, что их можно создать несколькими способами:

Серии похожи на ndarray

Серии действуют очень похоже на NumPy ndarrays, и поэтому в сериях можно использовать множество аналогичных функций.

Кроме того, благодаря этому свойству Pandas Series также может использовать векторизованные операции. По сути, это означает, что нам не нужно перебирать каждый элемент в серии, чтобы выполнить над ним операции. Вместо этого наша операция может быть масштабирована до размера нашей серии и выполняться точно так же, как матричная операция. Например, если мы хотим добавить 3 к каждому элементу в нашей серии, все, что нам нужно сделать, это добавить 3 к самой серии:

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

Серии также похожи на словарь

Серии также очень похожи на словарь Python, где метка индекса действует как ключ.

Фрейм данных

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

Создание фрейма данных

Удобно, что он принимает в качестве входных данных много разных типов данных:

DataFrame из нескольких серий:

DataFrame из словаря:

DataFrame из 2D-массива:

Получение и настройка DataFrame

Вы можете обрабатывать DataFrame точно так же, как словарь Python, где ключи являются именами каждого столбца, а соответствующие значения - сериями. Например:

Если вы хотите получить строку в DataFrame как серию, вы можете использовать встроенный метод Pandas loc. Кроме того, вы можете использовать этот метод для получения и установки значений для определенных элементов в DataFrame.

Если вам нужно добавить целую строку новых данных в DataFrame, это можно сделать с помощью метода append.

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

Одна из полезных функций Pandas - это возможность выполнять логическое индексирование. По сути, это позволяет нам получать только те значения, которые соответствуют определенному условию. Например, если мы хотим захватить только людей старше 25 лет:

Есть много приложений логической индексации, и я рекомендую вам попробовать несколько разных идей. (Что, если вы хотите получить все значения о среднем возрасте?)

Очистка DataFrame

Часто данные не очень чистые. Будут опечатки, недостающая информация, посторонние строки, несоответствующие типы и просто общие странности. Одна из самых важных задач специалиста по обработке данных - привести набор данных в состояние, которое является «чистым» и лишенным всех этих странностей. Таким образом, любая информация, полученная на основе этих данных, не является результатом неверных данных.

В этом сообщении в блоге Малай Агарвал замечательно объясняется, как очищать данные, и он содержит гораздо больше деталей, чем я мог бы в этом единственном руководстве.



Манипуляции с DataFrame

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

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

Допустим, вы хотели узнать, сколько продаж было произведено по каждому товару. Мы могли бы определить новый столбец под названием «Общий объем продаж», который просто принимает произведение «Цена за единицу» и «Количество» для каждого элемента. Точно так же предположим, что вы хотите выяснить, какие товары составляют наибольшую долю продаж. Вы можете определить «Коэффициент продаж», который берет «Общий объем продаж» для каждого элемента и делит его на сумму «Общий объем продаж» для всех элементов.

Это просто сделать с помощью DataFrames:

А теперь вы можете понять, какие товары являются наиболее важными для вашей общей прибыли! Посмотри на себя, настоящий специалист по данным!

Заключение

Pandas - мощный инструмент для работы с данными. Если вы хотите получить информацию из шоу Food Network или вести малый бизнес, Pandas является неотъемлемой частью экосистемы науки о данных Python.

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

Спасибо за прочтение!

  • Иордания