Создание DataFrame в Pandas

PandasBeginner
Практиковаться сейчас

Введение

Добро пожаловать в мир манипуляции данными с помощью Pandas! DataFrame — это двумерная, изменяемая по размеру и потенциально гетерогенная табличная структура данных с маркированными осями (строками и столбцами). Это одна из наиболее часто используемых структур данных в современном анализе данных.

В этой лабораторной работе вы изучите основные методы создания DataFrame в Pandas. Мы начнем с создания DataFrame из простого словаря Python, а затем рассмотрим, как настроить его столбцы и индекс. Все задачи вы будете выполнять в WebIDE, написав и выполнив скрипты Python.

Создание DataFrame из словаря

На этом шаге вы изучите наиболее распространенный метод создания DataFrame в Pandas: из словаря Python. При использовании словаря ключи становятся именами столбцов, а значения (обычно списки или массивы) — данными в этих столбцах.

Сначала откройте файл main.py в файловом проводнике слева в вашем WebIDE.

Теперь добавьте следующий код в файл main.py. Этот код импортирует библиотеку Pandas, определяет словарь с данными студентов, затем использует pd.DataFrame() для преобразования словаря в DataFrame и выводит результат.

import pandas as pd

## Данные в словаре
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Создание DataFrame из словаря
df = pd.DataFrame(student_data)

## Вывод DataFrame
print(df)

Чтобы запустить ваш скрипт, откройте терминал в WebIDE (Terminal -> New Terminal) и выполните следующую команду. Вся ваша работа должна выполняться в каталоге ~/project.

python3 main.py

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

      Name  Score
0    Alice     85
1      Bob     92
2  Charlie     78

Указание имен столбцов в DataFrame

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

Давайте изменим файл main.py, чтобы указать порядок столбцов. Мы поменяем местами столбцы 'Name' и 'Score'.

Обновите ваш файл main.py следующим кодом. Обратите внимание на добавление параметра columns в функцию pd.DataFrame().

import pandas as pd

## Данные в словаре
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Создание DataFrame с указанием порядка столбцов
df = pd.DataFrame(student_data, columns=['Score', 'Name'])

## Вывод DataFrame
print(df)

Теперь снова запустите скрипт в терминале:

python3 main.py

В выводе теперь будет отображаться столбец 'Score' первым, как вы и указали.

   Score     Name
0     85    Alice
1     92      Bob
2     78  Charlie

Добавление меток индекса к DataFrame

На этом шаге вы научитесь заменять стандартный числовой индекс (0, 1, 2, ...) более осмысленными метками. Это делается с помощью параметра index, который позволяет присвоить каждой строке пользовательский индекс.

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

Обновите код в main.py следующим образом:

import pandas as pd

## Данные в словаре
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Определение пользовательских меток индекса
index_labels = ['ID1', 'ID2', 'ID3']

## Создание DataFrame с пользовательским индексом
df = pd.DataFrame(student_data, index=index_labels)

## Вывод DataFrame
print(df)

Выполните скрипт из терминала:

python3 main.py

Теперь вы увидите, что стандартный числовой индекс заменен вашими пользовательскими метками 'ID'.

        Name  Score
ID1    Alice     85
ID2      Bob     92
ID3  Charlie     78

Доступ к столбцам DataFrame с использованием точечной нотации

На этом шаге вы узнаете удобный способ доступа к одному столбцу DataFrame: точечную нотацию. Если имя столбца является допустимым идентификатором Python (без пробелов, не начинается с цифры и т. д.), вы можете получить к нему доступ как к атрибуту объекта DataFrame.

Давайте используем точечную нотацию, чтобы выбрать и вывести только столбец 'Name' из нашего DataFrame.

Измените файл main.py, чтобы получить доступ к столбцу Name и вывести его.

import pandas as pd

## Данные в словаре
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Создание DataFrame
df = pd.DataFrame(student_data)

## Доступ к столбцу 'Name' и его вывод с использованием точечной нотации
print(df.Name)

Запустите скрипт в терминале:

python3 main.py

В выводе будет объект Pandas Series, который по сути является одним столбцом DataFrame.

0      Alice
1        Bob
2    Charlie
Name: Name, dtype: object

Отображение информации о DataFrame с помощью метода info

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

Применим метод .info() к нашему DataFrame студентов.

Измените файл main.py, чтобы вызвать этот метод. Обратите внимание, что .info() выводит сводку напрямую, поэтому вам не нужно оборачивать ее в функцию print().

import pandas as pd

## Данные в словаре
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Создание DataFrame
df = pd.DataFrame(student_data)

## Отображение сводки DataFrame
df.info()

Запустите скрипт из терминала:

python3 main.py

Вывод предоставит вам подробный обзор структуры и содержимого вашего DataFrame.

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
 ##   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   Name    3 non-null      object
 1   Score   3 non-null      int64
dtypes: int64(1), object(1)
memory usage: 176.0+ bytes

Резюме

Поздравляем с завершением этой лабораторной работы! Вы освоили основные методы создания и анализа DataFrame в Pandas.

В этой лабораторной работе вы научились:

  • Создавать DataFrame из словаря Python.
  • Указывать и изменять порядок столбцов с помощью параметра columns.
  • Назначать пользовательские метки строк с помощью параметра index.
  • Получать доступ к конкретному столбцу с помощью удобной точечной нотации.
  • Получать краткую сводку структуры DataFrame с помощью метода .info().

Эти навыки являются первыми и важнейшими шагами для любой задачи анализа данных с использованием Pandas. Теперь вы готовы приступить к созданию собственных наборов данных для дальнейшего исследования.