NumPy и Pandas: в чём разница простыми словами

NumPy и Pandas: в чём разница простыми словами
0
25

NumPy и Pandas — библиотеки Python для работы с данными. NumPy рассчитана на числовые массивы и математические операции. Pandas удобна для таблиц с названиями столбцов, текстом, датами и пропусками. В анализе рекламных кампаний эти библиотеки часто используют вместе.

Что такое NumPy

NumPy, или Numerical Python, помогает хранить и обрабатывать большие наборы чисел. Её основной объект называется ndarray — массив с одним или несколькими измерениями.

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

Для примера возьмём условные показатели трёх рекламных кампаний:

import numpy as np
clicks = np.array([1200, 800, 1500]) leads = np.array([48, 20, 75])
cr = np.round(leads / clicks * 100, 2) print(cr)

NumPy вернёт массив с конверсией каждой кампании: 

[4.  2.5 5. ]

Первое число относится к первой кампании, второе — ко второй, третье — к третьей. Названий кампаний в массиве нет, поэтому их приходится хранить отдельно или помнить порядок значений.

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

Что такое Pandas

Pandas работает с данными, которые выглядят как таблица. Её основной объект DataFrame похож на лист Excel: у него есть строки, столбцы и понятные названия показателей.

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

Посчитаем конверсию на тех же условных данных:

import pandas as pd
report = pd.DataFrame({ "source": ["Поиск", "Telegram", "Нативка"], "clicks": [1200, 800, 1500], "leads": [48, 20, 75], })
report["CR, %"] = ( report["leads"] / report["clicks"] * 100 ).round(2)
report

Результат сохраняет названия источников и показателей:

sourceclicksleadsCR, %
Поиск1200484,0
Telegram800202,5
Нативка1500755,0

С такой таблицей проще понять, к какой кампании относится результат. Pandas также умеет фильтровать строки, удалять дубли, заполнять пропуски, группировать статистику и объединять несколько выгрузок.

Например, можно собрать отчёты из разных рекламных кабинетов, привести названия столбцов к одному виду и посчитать CR, CPL или ROI по каждой кампании.

Чем NumPy отличается от Pandas

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

Что сравниваемNumPyPandas
Основной объектМассив ndarraySeries и DataFrame
Типы данныхВ обычном массиве используется один типУ разных столбцов могут быть разные типы
Обращение к даннымПо позиции в массивеПо названию строки, столбца или по позиции
Основные задачиВычисления, статистика, векторы и матрицыЗагрузка, очистка, фильтрация и группировка таблиц
Подходящие исходникиЧисловые массивы, координаты, изображения, данные моделейCSV, Excel, SQL и рекламные отчёты
Работа с пропускамиЕсть базовые средства, часто требуется больше ручных действийЕсть отдельные методы для поиска, удаления и заполнения пропусков

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

Что нужно знать перед NumPy и Pandas

NumPy и Pandas подключаются к обычной программе на Python. Поэтому сначала нужно освоить переменные, списки, условия, циклы, функции и модули.

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

★ Где этому научиться

Курс «Python Ninja» в Академии IT DMS

✓Основы Python с нуля: от переменных до ООП
✓Веб-приложения на Flask и Django, свои API
✓SQL, графические интерфейсы и машинное обучение на практике

Сертификат, диплом о переподготовке или удостоверение о повышении квалификации.

Перейти к курсу →ПромокодAFFTIMES

−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.

NumPy быстрее Pandas?

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

Pandas тратит часть ресурсов на структуру таблицы: индексы, подписи, типы столбцов и пропуски. Зато многие задачи аналитика решаются одной командой — например, группировка кампаний или объединение двух отчётов.

Общего коэффициента скорости нет. Результат зависит от размера данных и самой операции. Для обычной рекламной выгрузки удобство Pandas часто важнее разницы в скорости расчёта.

Как NumPy и Pandas работают вместе

Pandas построена поверх NumPy и использует её массивы для многих операций. При этом DataFrame добавляет подписи строк и столбцов, а также инструменты для работы с таблицами.

Если следующая программа или модель принимает массив NumPy, выбранные столбцы можно преобразовать через to_numpy():

values = report[["clicks", "leads"]].to_numpy()

После преобразования в массиве останутся числа. Названия clicks и leads, а также источники трафика в него не попадут. Поэтому для расчёта лучше выбирать только нужные числовые столбцы.

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

★ Где этому научиться

Курс «Data Science и Machine Learning» в Академии IT DMS

✓Python, Pandas и подготовка данных с нуля
✓Регрессия, классификация, кластеризация и нейросети на scikit-learn
✓NLP и анализ текста, визуализация, AutoML

Сертификат, диплом о переподготовке или удостоверение о повышении квалификации.

Перейти к курсу →ПромокодAFFTIMES

−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.

Когда работа с таблицами уже понятна, можно переходить к моделям. В отдельном материале AffTimes показано, как создать свою нейросеть с нуля.

NumPy или Pandas: что выбрать

Ориентируйся на формат данных и задачу, которую нужно решить.

  • Для CSV- и Excel-отчётов, статистики рекламных кампаний и таблиц с датами выбирай Pandas.
  • Для векторов, матриц, изображений и числовых формул используй NumPy.
  • Для Data Science и машинного обучения изучай обе библиотеки.

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

FAQ

Нужно ли изучать NumPy перед Pandas?

Можно начать с Pandas сразу после основ Python, если нужно работать с таблицами и отчётами. Для Data Science и математических задач вскоре понадобятся массивы NumPy.

Можно ли пользоваться Pandas без NumPy?

NumPy должна быть установлена, потому что входит в обязательные зависимости Pandas. Отдельный импорт numpy as np нужен только для прямого обращения к функциям NumPy.

Что лучше для Data Science: NumPy или Pandas?

В Data Science используют обе библиотеки. Pandas помогает подготовить таблицу, а NumPy выполняет операции с числовыми массивами.

Всегда ли NumPy быстрее Pandas?

NumPy часто требует меньше ресурсов при расчётах над однородными массивами. Итоговая скорость зависит от размера данных и операции, поэтому универсального соотношения нет.

Валерия Шлегель
Валерия Шлегель
Автор
(Проголосовать за статью)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

X