Рубрики
Без рубрики

Панды 101 – Pt. I: Введение в структуры данных

Перво-наперво, хранилище со всеми записниками этой серии из трех частей о Пандах … помечено Python, начинающими, DataScience.

Перво-наперво, хранилище со всеми записниками этой серии из трех частей о Пандах здесь:

https://github.com/hugoestradas/Pandas_101

В случае, если вы жили под камнем за последние 7 лет, библиотека Pandas известна своими простыми в использовании возможностями анализа данных.

На самом деле, его название происходит не от черно -белого китайского медведя, а из -за аббревиатуры для «панельных данных», причудливого термина эконометрики для наборов данных, которые включают наблюдения в течение нескольких периодов времени для одних и тех же людей, больше о что в этом документе: https://www.dlr.de/sc/portaldata/15/resources/dokumente/pyhpc2011/submissions/pyhpc2011_submission_9.pdf

Он поставляется с прохладными функциями, такими как загрузка данных из нескольких форматов, переименование функций, отображение и построение данных, структуры данных, расширенная индексация, функции соединения данных и агрегация данных, всеобъемлющий API ввода -вывода … и лишь некоторые из них.

В библиотеке Pandas есть две основные структуры данных: серии и DataFrame.

1) Объект серии Pandas серии A – это массив с индексированными данными.

Вот пример объекта серии на Python с помощью Pandas:

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

Кроме того, если вам может понадобиться, можно создать объект серии с меткой, указывающей на каждую данную:

И вы даже можете использовать эти этикетки в массиве, чтобы выбрать конкретное значение из объекта серии:

Добавление сложности к примерам, если вам просто нужно применять математические операции к объекту серии, вы можете использовать Numpy (еще одна библиотека Python для научных вычислений и математических операций). Например, сохранение ссылки на индекс-значение:

Одно распространенное использование серии – это создание специализированных словарей.

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

В следующем примере показано, как объединить обе структуры, чтобы создать объект серии как Dictionary:

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

Но в отличие от словаря, серия Pandas также поддерживает операции в стиле массива, такие как нарезка:

Если вы проходите DICT, индекс в полученной серии будет иметь ключ этого дикта в отсортированном порядке. Таким образом, можно переопределить это, передавая ключи от дикта в том порядке, в котором вы хотите, чтобы они были в полученном сериале:

Если вы заметили, что я намеренно добавил одно значение, которое нет в серии 4: «iPhone XR», следовательно, Pandas отмечают его значение в серии 5 как «не число» (NAN). Если вы заинтересованы в дайвинге в этом конкретном вопросе, вот конкретная документация Pandas для значений NAN: https://pandas.pydata.org/pandas-docs/stable/user_guide/missing_data.html

Теперь вопрос, который вы должны задать: «Как мне иметь дело с отсутствующими данными в серии Pandas (или в целом)? ” Ответ, функции «Isnull» и «Notnull»:

Функции автоматически выровнены в соответствии с именем индекса при работе с арифметическими операциями, и как сам объект серии, так и его индекс имеют атрибут имени:

2) Pandas DataFrame

Таким образом, серии Pandas полезны, но в реальном мире сценария очень необычно работать с простым набором данных при анализе тонн данных для нового проекта.

Давайте поговорим о том, что такое DataFrame.

Я собираюсь оставить официальную документацию с веб -сайта Pandas, так что вы можете прочитать больше о своем собственном, что именно является DataFrame в мире Pandas: https://pandas.pydata.org/docs/reference/api/pandas.dataframe.html?highlight=dataframe#pandas.dataframe

ОК, вкратце: «DataFrame Pandas-это двумерная, невозможная, потенциально гетерогенная структура таблиц с меченым осью».

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

Помните, что Pandas – это просто большая библиотека Python, а не «хранилище данных» в том, как RDBMS, а Pandas DataFrame не является инструментом устойчивости данных.

Хорошо, надеюсь, приведенный выше текст был полезен, теперь давайте попадем в какой -нибудь код.

Я собираюсь создать серию Pandas, а затем преобразовать их в один пандас DataFrame:

Давайте проанализируем этот раздел камеры ноутбука по ячейке:

Сначала я создаю массив под названием «Серия», который позже я преобразую в серию Pandas:

Затем я повторяю тот же процесс, используя тот же массив «серии» с новой серией под названием «iPhone»:

Теперь, в основном у меня есть 2 новых серии Pandas, «цвета» и «iPhone», и то, что я делаю в последних двух ячеек приведенного выше изображения моих записей Databricks, объединяет эти две серии в DataFrame Pandas с 2 столбцами , «Модели» и «Цвета»:

Обратите внимание, что в результате он в значительной степени очень эксплуатационный, двухмерная табличная структура, созданная из 2 разных серий с одинаковым количеством элементов:

Без серии создание одного и того же диапазона данных должно выглядеть следующим образом:

Так что это похоже на создание серии «цветов» и «iPhone» в одной паре скол и кудрявых скоб.

Теперь есть много способов создания DataFrames Pandas, один из которых особенно интересный способ сделать это, – передавать словарь конструктору DataFrame, в котором клавиши словаря являются именами столбцов, а значения словаря являются списками значений столбцов:

Двигаясь вперед, добавив большую сложность для гораздо большего количества DataFrame Pandas, вы можете использовать библиотеку Numpy (используемой для работы с массивами, линейной алгеброй, преобразованием Фурье и матрицам), используя функцию «случайный. и столбцы:

Для нечетных столбцов можно использовать список строк:

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

Оригинал: “https://dev.to/hugoestradas/pandas-101-pt-i-introduction-to-data-structures-404e”