Краткое руководство по библиотеке Pandas в Python

Введение

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

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

Определение ожиданий

Во-первых, может быть важно определить, чем эта статья является и не является. Хотя в заголовке указано, что это пошаговое руководство, оно нев учебник по библиотеке Pandas. Таким образом, вам — и это правильно — может быть интересно, на кого нацелена эта статья. Это руководство направлено на заполнение нужных пробелов в знаниях, где это необходимо, и в конце этого руководства вы внедрите свое самое первое решение для анализа данных с использованием библиотеки Pandas.

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

Предварительные требования

Эта статья направлена ​​на заполнение пробелов в знаниях, но должна четко указывать, где эти пробелы не заполнены. Ниже приведен список предположений и предпосылок, которые сделаны или требуются от вас, читатель, для успешного завершения этого руководства — по крайней мере, не без особых трудностей. Первое предположение состоит в том, что вы знакомы с программированием на Python или использовали любой другой строго типизированный язык программирования. Кроме того, вы должны быть знакомы с виртуальными машинами или знать, как минимум, что это такое, а также некоторое знакомство с операционной системой (ОС) на базе Linux/Unix и с использованием интерфейса командной строки (CLI).

  1. Питон
  2. Виртуальная машина (например, VirtualBox)
  3. Интерфейс командной строки (CLI)
  4. Операционная система Linux/Unix (например, Ubuntu 22.04 или более поздняя версия)

Настройка и установка

Установка виртуальной машины

Первым шагом к началу работы является установка виртуальной машины. Для этого нам нужно скачать VirtualBox. VirtualBox — это полноценный виртуализатор, поддерживающий аппаратное обеспечение архитектуры x86². Это программное обеспечение позволит нам создать виртуальную машину и установить на нее нашу операционную систему на базе Linux. Скачать VirtualBox для Windows можно здесь.

Загрузка дистрибутива Linux

После того, как вы успешно установили программное обеспечение VirtualBox, следующим шагом будет загрузка дистрибутива Linux. В этом руководстве предполагается дистрибутив Debian (.deb) (т. е. Ubuntu 22.04 или более поздней версии). Скачать дистрибутив Linux можно здесь.

Создание нашей виртуальной машины

Теперь, когда наше программное обеспечение VirtualBox установлено и наш дистрибутив Linux загружен, мы хотим создать новую виртуальную машину с помощью VirtualBox. Я оставлю особенности вашей виртуальной машины, такие как размер жесткого диска и другие детали, на ваше усмотрение.

После создания виртуальной машины (ВМ) мы запустим нашу виртуальную машину и используем загруженный дистрибутив Linux для установки операционной системы на нашу виртуальную машину.

Установка Python, наборов инструментов Python и Java

На этом этапе мы предполагаем, что вы успешно сделали следующее:

  1. Загруженный виртуальный бокс
  2. Создал виртуальную машину с помощью VirtualBox
  3. Установил ОС Linux Ubuntu на виртуальную машину.

С вашего терминала виртуальной машины мы установим python, в частности, python3, Pandas и Tabula, а также версию OpenJDK. Вам может быть интересно, зачем нам нужен OpenJDK, если мы будем кодировать с использованием Python. Это связано с тем, что библиотека Tabula построена на Java и требует интерпретатора Java для выполнения кода, который позволяет нам читать наш источник данных⁵ (например, файл PDF). Это станет яснее, когда мы реализуем исходный код.

Установка Java/OpenJDK

sudo apt-get install default-jre

Установка Python

sudo apt-get install python3-pip

Установка панд

Прежде чем мы установим Pandas, может быть важно определить, что это за библиотека. Pandas — это библиотека, построенная на основе языка программирования Python. Библиотека позволяет извлекать, создавать или манипулировать источниками данных, такими как значения с разделителями-запятыми (CSV), Excel или текстовые файлы, обычно в форме табличных данных, для анализа и обработки данных или превращения необработанных данных в полезную информацию³.

Чтобы установить Pandas, используйте следующую команду из CLI:

sudo apt-get install python3-pandas

Не пугайтесь, если вывод ваших терминалов отличается от приведенного выше. Выходные данные команды установки этой конкретной виртуальной машины для большинства установленных пакетов и библиотек говорят нам, что у нас уже установлена ​​​​последняя версия.

Установка Табулы

Tabula, как и Pandas, представляет собой библиотеку Python. В частности, это оболочка библиотеки tabular-java, которая позволяет извлекать табличные данные из источника данных, файлов PDF и создавать кадры данных с использованием библиотеки Pandas для обработки и анализа данных⁴.

pip install tabula-py

Отсюда мы установили Python, библиотеку Pandas и Tabula и находимся на пути к написанию нашего первого скрипта Python с использованием Pandas.

Для начала мы создадим две папки, в которых мы разместим наш проект. Место это ваш выбор, но вы должны сделать два каталога. Один каталог называется code, а другой каталог называется resources. В каталоге code будут храниться все наши сценарии Python, а в каталоге resources — все наши файлы ресурсов. Они будут включать файлы pdf или CSV, которые мы будем использовать для извлечения данных с помощью Pandas, чтобы создать наш DataFrame и управлять данными с помощью Pandas.

Чтобы получить доступ к файлу ресурсов pdf, вы можете скачать файл из репозитория GIT здесь.

Первое приложение панд

В каталоге code создайте файл Python с именем pandas_tabular_data.py.

Создать скрипт Python

touch pandas_tabular_data.py

Теперь, когда мы создали пустой файл Python, мы отредактируем наш файл Python. Для редактирования файла вы можете использовать vi, vim, vs code, gedit или любой другой ваш любимый редактор для редактирования файла. Я буду использовать gedit.

gedit pandas_tabular_data.py

Импорт модулей и создание фрейма данных

Теперь мы создали наш скрипт на Python и готовы начать кодирование. Во-первых, мы импортируем пару модулей Python. Те же самые, которые мы установили ранее (например, Pandas и Tabula).

Помимо импорта необходимых модулей, мы также укажем расположение нашего источника ввода (pdf) и источника вывода (CSV).

Наконец, мы создадим DataFrame, используя библиотеку Pandas, и будем манипулировать данными.

#OCR library, based in java, used to convert pdf -> csv
import tabula as tb
#Pandas, data analysis library, used to convert csv -> dataframe
import pandas as pd
#PDF file path 
input_file_path = "/<your_location>/resources/Pandas_Sample_Data.pdf"
#Location to store our PDF that will be converted to csv output_file_path = "/<your_location>/resources/Pandas_Sample_Data.csv"
#Convert our PDF file into a CSV file
tb.convert_into(input_file_path, output_file_path, "csv", pages="all") 
#Create the DataFrame from the new CSV file
initial_data = pd.read_csv(output_file_path, delimeter=",")
#Print the DataFrame
print(initial_data)

Отлично, мы прочитали наш файл PDF и преобразовали его в файл CSV. Затем мы читаем содержимое CSV-файла, используя переменную id, которая является самим DataFrame, и печатаем DataFrame. Давайте запустим наш скрипт Python.

Из интерфейса командной строки:

python3 pandas_tabular_data.py

Поздравляем! Вы создали свой самый первый DataFrame.

Управление данными с помощью Pandas

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

Выбрать строки по индексу

#Selecting the first two rows
rows = pd.DataFrame(initial_data.loc[[0, 1]])
print(rows)

Выбрать столбец по метке

#Selecting the qty column 
cols = pd.DataFrame(initial_data, columns = ['qty'])
print(cols)

Обнаруженные значения NaN

#Displays true when "Not a Number" (NaN) values are detected
cols = pd.DataFrame(initial_data, columns = ['qty']) 
print(cols.isna)

Процитированные работы

[1]: Моннаппа, А. (2022, 29 марта). Почему наука о данных важна и как она влияет на бизнес в 2022 году. Simplilearn.com. Получено 4 июня 2022 г. из https://www.simplilearn.com/why-and-how-data-science-matters-to-business-article.

[2]: Виртуальная коробка. (н.д.). О Virtualbox. Виртуальный бокс. Получено 4 июня 2022 г. с https://www.virtualbox.org/wiki/VirtualBox.

[3]: Панды. (н.д.). О пандах. панды. Получено 4 июня 2022 г. с https://pandas.pydata.org/about/index.html.

[4]: Участники GitHub. (н.д.). Табула. табула. Получено 4 июня 2022 г. с https://tabula-py.readthedocs.io/en/latest/tabula.html.

[5]: Участники GitHub. (н.д.). Начало работы. табула. Получено 4 июня 2022 г. с https://tabula-py.readthedocs.io/en/latest/getting_started.html.