Pandas Python — библиотека для работы с данными в Python

    Команда Simple-Server
    03.06.2026
    9 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Установка необходимых библиотек и компонентов

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

    Выполним следующие команды в терминале:

    1. Установим python3 и модуль для создания виртуальных окружений:

    Установим python3 и модуль для создания виртуальных окружений:

    sudo apt install -y python3.12-venv python3-full
    1. Создадим виртуальное окружение:

    Создадим виртуальное окружение:

    1. Активируем виртуальное окружение myenv:

    Активируем виртуальное окружение myenv:

    source myenv/bin/activate
    1. Установим ключевые библиотеки:

    Установим ключевые библиотеки:

    pip install pandas matplotlib sqlalchemy numpy
    1. Проверим, что не возникает проблем при импорте библиотек:

    Проверим, что не возникает проблем при импорте библиотек:

    python3 -c 'import pandas, matplotlib, sqlalchemy, numpy; print("Все библиотеки установлены и работают!")'

    Series представляет собой линейную структуру данных, которая способна сохранять значения разных типов: числа, строки, временные отметки и даже сложные Python-объекты. Ее ключевая особенность — индекс, позволяющий обращаться к элементам как по порядковому номеру, так и по наименованию.

    В отличие от стандартных списков Python, Series обладает широким набором встроенных методов, которые позволяют выполнять статистические расчеты, сортировку и фильтрацию данных.

    Ниже пример создания Series из списка:

    import pandas as pd my_series = pd.Series([10, 20, 30, 40], name='numbers') print(my_series)

    В этом фрагменте мы импортируем библиотеку pandas под псевдонимом pd. Переменная my_series содержит объект типа Series, в котором индексы по умолчанию задаются целые числа, начиная с 0. Мы также присвоили имя столбцу с помощью параметра name, чтобы в дальнейшем отличать этот набор данных от других.

    Если Series можно рассматривать как «столбец» или одномерный массив, то DataFrame — это уже полноценная таблица с данными, в которой по строкам и столбцам располагаются значения разных типов. Dataframe используется повсеместно при загрузке, обработке и хранении табличной информации.

    Простейший способ создать DataFrame в Pandas — передать словарь списков или двумерный массив в качестве входных данных:

    import pandas as pd data = { 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['NY', 'LA', 'Chicago'] } df = pd.DataFrame(data) print(df)

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

    Понимание того, что в Pandas ключевую роль играют объекты Series и DataFrame, позволяет более эффективно применять эту библиотеку.

    Ключевое преимущество Pandas при решении реальных задач — это способность легко загружать и сохранять данные в различных форматах. Наиболее востребованными являются CSV, Excel и JSON, но Pandas также поддерживает множество других источников, включая SQL-базы данных.

    CSV-файлы являются одним из самых популярных форматов хранения табличных данных. Для загрузки CSV в Pandas используется специальная функция.

    import pandas as pd df_csv = pd.read_csv('my_data.csv')

    Достаточно указать путь к файлу — и Pandas это всё сделает за вас: проанализирует, где начинается и заканчивается поле, какой используется разделитель, и даже попытается угадать типы столбцов. При необходимости можно задать дополнительные параметры, например sep=';' или encoding='utf-8', если файл имеет особый формат.

    Подключение к базам данных

    Pandas интегрируется с различными СУБД, в том числе PostgreSQL, MySQL, SQLite и другими. Проще всего работать через библиотеку SQLAlchemy, позволяющую установить соединение и передать SQL-запрос.

    Ниже приведен пример работы с базой данных SQLite. Этот код:

    • Создает файл базы данных (my_database.db), если он еще не существует.
    • Создает таблицу table_name с колонками id, name и age.
    • Добавляет в таблицу три записи (Alice, Bob, Charlie).
    • Загружает данные в DataFrame и выводит их в терминал.
    from sqlalchemy import create_engine, text import pandas as pd engine = create_engine('sqlite:///my_database.db') with engine.connect() as connection: connection.execute(text(""" CREATE TABLE IF NOT EXISTS table_name ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER ); """)) connection.execute(text(""" INSERT INTO table_name (name, age) VALUES ('Alice', 25), ('Bob', 30), ('Charlie', 22) """)) connection.commit() df_sql = pd.read_sql('SELECT * FROM table_name', engine) print(df_sql)

    Полученный DataFrame df_sql будет содержать все строки из table_name, что удобно для последующей обработки. С другими СУБД синтаксис будет похож — нужно лишь установить нужный драйвер и правильно указать строку подключения.

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

    Основные функции обработки данных

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

    Фильтрация — одна из важнейших операций в анализе данных. В Pandas фильтрации встречаются в любых руководствах:

    import pandas as pd df = pd.DataFrame({ 'Product': ['Apples', 'Oranges', 'Bananas', 'Apples'], 'Price': [100, 200, 150, 120], 'Quantity': [10, 5, 8, 15] }) filtered = df[df['Product'] == 'Apples'] print(filtered)

    Здесь df['Product'] == 'Apples' возвращает булев массив, указывающий, какие строки содержат Apples. В результате получаем подмножество исходного DataFrame. Также можно пользоваться методами .loc, .iloc или даже .query():

    filtered2 = df.query("Price > 100")

    Метод query() позволяет писать логические условия в виде небольших строк, упрощая чтение сложных запросов.

    Визуализация данных с Pandas

    Несмотря на то, что для полноценной визуализации в Python часто используют Matplotlib, Seaborn или Plotly, в Pandas присутствуют встроенные возможности быстрого построения графиков. Каждый объект DataFrame или Series имеет метод .plot(), который умеет отображать:

    • Линейные графики (по умолчанию)
    • Столбиковые диаграммы
    • Гистограммы
    • Круговые диаграммы и многое другое
    import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({ 'Month': ['Jan', 'Feb', 'Mar', 'Apr'], 'Sales': [250, 300, 200, 400] }) df.plot(x='Month', y='Sales', kind='bar') plt.show()

    Параметры x='Month' и y='Sales' определяют, какие данные брать для оси X и оси Y, а kind='bar' указывает тип диаграммы. Такой подход идеален для быстрой оценки данных, не прибегая к дополнительным библиотекам. Но если нужна сложная визуализация, Pandas легко интегрируется и с Matplotlib, и с другими популярными средствами построения графиков.

    Примеры использования: сквозной сценарий

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

    import pandas as pd,matplotlib.pyplot as plt data={'Product':['Apple','Banana','Orange','Apple','Banana','Orange','Apple','Banana'],'Category':['Fruits','Fruits','Fruits','Fruits','Fruits','Fruits','Fruits','Fruits'],'Price':[1.2,0.8,1.5,1.3,0,1.4,1.1,-0.5],'Quantity':[10,15,8,12,10,9,7,11]} df_sales=pd.DataFrame(data) df_sales=df_sales[df_sales['Price']>0] df_sales['Total']=df_sales['Price']*df_sales['Quantity'] df_grouped=df_sales.groupby('Category')['Total'].sum() df_grouped.plot(kind='bar',title='Revenue by Category') plt.show()

    На графике видно, что категория "Fruits" имеет суммарный доход около 72. Это означает, что после фильтрации и обработки данных остались только корректные значения, которые затем были сгруппированы по категории и визуализированы в виде столбчатой диаграммы.

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


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490₽

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190₽

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны