Введение в Python DataFrame Pandas

Несколько расширений для библиотеки Python, Pandas, можно найти в Интернете. Одним из таких является панель (панорамирование) данных (дас). Это слово * Panel * тонко намекает на двухмерную структуру данных, присутствующую в этой библиотеке, что значительно расширяет возможности ее пользователей. Эта структура называется DataFrame.

По сути, это матрица строк и столбцов, содержащая весь ваш набор данных, с очень сложными вариантами индексации. DataFrame (DF) можно представить в виде картинки, очень похожей на таблицу Excel. Но что делает его мощным, так это легкость, с которой аналитические и трансформационные операции могут выполняться с данными, хранящимися в DataFrame.

Что такое дата-фрейм Python Pandas?

Страница Pydata может быть передана для чего-то официального определения.

При правильном понимании он упоминает DataFrame как столбчатую структуру, способную хранить любой объект python (включая сам DataFrame) как одно значение ячейки. (Ячейка индексируется с использованием уникальной комбинации строк и столбцов)

DataFrames состоит из трех основных компонентов: данных, строк и столбцов.

  • Данные: это относится к фактическим объектам / объектам, хранящимся в ячейке в DataFrame, и значениям, представленным этими объектами. Объект имеет любой допустимый тип данных Python, встроенный или определенный пользователем.
  • Строки: Ссылки, используемые для идентификации (или индексации) определенного набора наблюдений из полных данных, хранящихся в DataFrame, называются Строкой. Просто чтобы прояснить это, он представляет используемые индексы, а не только данные в конкретном наблюдении.
  • Столбцы. Ссылки, используемые для идентификации (или индексации) набора атрибутов для всех наблюдений в DataFrame. Как и в случае строк, они относятся к индексу столбца (или заголовкам столбца), а не только к данным в столбце.

Итак, без лишних слов, давайте попробуем несколько способов создания этих удивительно мощных структур.

Шаги по созданию фреймов данных Python Pandas

DataFrame Python Pandas может быть создан с использованием следующей реализации кода,

1. Импорт панд

Для создания DataFrames необходимо импортировать библиотеку панд (здесь нет ничего удивительного). Мы импортируем его с псевдонимом pd, чтобы удобно ссылаться на объекты в модуле.

Код:

import pandas as pd

2. Создание первого объекта DataFrame

После импорта библиотеки все методы, функции и конструкторы становятся доступными в вашей рабочей области. Итак, давайте попробуем создать ванильный DataFrame.

Код:

import pandas as pd
df = pd.DataFrame()
print(df)

Выход:

Как показано в выходных данных, конструктор возвращает пустой DataFrame.
Теперь давайте сосредоточимся на создании DataFrames из данных, хранящихся в некоторых вероятных представлениях.

  • Фрейм данных из словаря. Допустим, у нас есть словарь, в котором хранится список компаний в Software Domain и количество лет, в течение которых они были активны.

Код:

import pandas as pd
df = pd.DataFrame(
('Company':('Google', 'Amazon', 'Infosys', 'Directi'),
'Age':('21', '23', '38', '22') ))
print (df)

Давайте посмотрим представление возвращенного объекта DataFrame, напечатав его на консоли.

Выход:

Как видно, каждый ключ словаря обрабатывается как столбец в DataFrame, и индексы строк генерируются автоматически, начиная с 0. Довольно просто, да!

Теперь предположим, что вы хотите присвоить ему пользовательский индекс вместо 0, 1, .. 4. Вам просто нужно передать нужный список в качестве параметра конструктору, и pandas сделает все необходимое.

Код:

df = pd.DataFrame(
('Company':('Google', 'Amazon', 'Yahoo', 'Infosys', 'Directi'),
'Age':('21', '23', '24', '38', '22') ),
index=('Alpha', 'Beta', 'Gamma', 'Delta'))
print(df)

Выход:

Возраст компании
Альфа Google 21
Бета Амазонка 23
Гамма Инфосис 38
Delta Directi 22

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

  • DataFrame из файла CSV: Давайте создадим файл CSV, содержащий те же данные, что и в случае нашего словаря. Давайте назовем файл CompanyAge.csv

Google, 21
Amazon, 23
Infosys, 38
Directi, 22

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

Код:

csv_df = pd.read_csv(
'CompanyAge.csv', names=('Company', 'Age'), header=None)
print(csv_df)

Выход:

Возраст компании
0 Google 21
1 амазонка 23
2 Infosys 38
3 Directi 22

Задание имен параметров в обход списка значений присваивает им заголовки столбцов в том же порядке, в котором они присутствуют в списке. Аналогично, индексы строк можно установить, передав список параметру index, как показано в предыдущем разделе. Заголовок = Нет указывает на отсутствие заголовков столбцов в файле данных.

Теперь предположим, что имена столбцов были частью файла данных. Тогда установка header = False сделает необходимую работу.

3. CompanyAgeWithHeader.csv

Компания, Возраст
Google, 21
Amazon, 23
Infosys, 38
Directi, 22

Код изменится на

csv_df = pd.read_csv(
'CompanyAgeWithHeader.csv', header=False)
print(csv_df)

Выход:

Возраст компании
0 Google 21
1 амазонка 23
2 Infosys 38
3 Directi 22

  • DataFrame из файла Excel: данные часто передаются в файлы Excel, поскольку они остаются наиболее популярным инструментом, используемым обычными людьми для отслеживания Adhoc. Таким образом, это не должно игнорироваться нашим обсуждением.

Предположим, что данные, такие же, как в CompanyAgeWithHeader.csv, теперь хранятся в CompanyAgeWithHeader.xlsx на листе с именем Company Age. Тот же самый DataFrame, что и выше, будет создан с помощью следующего кода.

Код:

excel_df= pd.read_excel('CompanyAgeWithHeader.xlsx', sheet_name='CompanyAge')
print(excel_df)

Выход:

Возраст компании
0 Google 21
1 амазонка 23
2 Infosys 38
3 Directi 22

Как вы можете видеть, тот же самый DataFrame может быть создан путем передачи имени файла и имени листа.

Дальнейшее чтение и дальнейшие шаги

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

Вывод

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

Рекомендуемые статьи

Это руководство по Python-Pandas DataFrame. Здесь мы обсуждаем шаги по созданию фрейма данных python-pandas вместе с его реализацией кода. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. 15 главных особенностей Python
  2. Различные типы наборов Python
  3. Лучшие 4 типа переменных в Python
  4. 6 лучших редакторов Python
  5. Массивы в структуре данных