Серия Pandas: все начинается с взрывающихся функций

pandas

Серия Pandas: все начинается с взрывающихся функций

Некоторое время назад в отделе ушел коллега по разработке больших данных, когда он и другие коллеги по разработке сдавали рабочий проект, я пошел на аудит, так как там были проблемы с бизнес-логикой компании. Говоря о проекте, он сказал:

Эта бизнес-логика..., я использую Hive'sфункция взрывареализовал эту функцию.

Тогда он привел простой пример, иллюстрирующий работу функции взрыва, и я тут же записал название функции:функция взрыва. Я редко использую Hive в своей работе, поэтому я подумал:Могут ли Pandas реализовать эту функцию??

img

функция взрыва

Что именно достигается функцией взрыва? Вспоминаю пример из того времени:

Теперь есть часть данных, включая номер заказа и цену предметов в заказе (3 предмета в заказе).После использования функции взрыва в улье становится так, как показано на следующем рисунке: это эквивалентно реализацииПреобразовать столбец в строкуфункция. Таким образом, впоследствии могут выполняться различные операции агрегирования.

Для реализации функции взрыва в Hive есть две функции, которые можно поискать и понять самостоятельно:

  • explode(col)
  • вид сбоку: функция профиля

реализация панд

конкретное требование

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

Теперь нужно подсчитать эффективность продаж каждого сотрудника.Эффективность продаж — это количество заказов, в выполнении которых участвовали сотрудники.. Статистика по эффективности продаж каждого сотрудника:

  • Любой, кто является продавцом, мерчендайзером или клерком, может указать, что он участвовал в продаже заказа;
  • В том же порядке, если сотрудник участвует несколько раз, это считается только один раз

Что именно достигается функцией взрыва? Справа результат, который мы хотим:

  • Чжан Сан: Участвовал в Заказе № 1 - Продавец, Заказ № 2 - Мерчендайзер, Клерк по выставлению счетов, Количество 2
  • Ли Си: Участвовал в Заказе № 1 - Мерчендайзер и клерк, Заказ № 2 - Продавец, Заказ № 3 - Мерчендайзер, Количество 3
  • Ван Ву: Участвовал в заказе № 3 - продавец, кассир, количество 1

процесс решения

1. Данные моделируются в pandas следующим образом:

2. Создайте новое поле:штат сотрудников

3. Реализовать функцию взрыва, используя панд вexplodeфункция для получения новых данных: вы можете видеть, что каждый номер заказа будет появляться несколько раз

4. Статистические результаты

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

что такое панды

pandas по-китайски называется pandas.Это сторонняя библиотека для основной обработки и анализа данных Python.Он имеет быструю, гибкую и четкую структуру данных.

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

Для чего нужны панды?

Конкретное использование панд станет сериалом в будущем, так что следите за обновлениями!

Заключение этой статьи:Примите панд, попрощайтесь с Excel!

Публичный аккаунт WeChat

Публичный аккаунт WeChat: You Er Hut, добро пожаловать на внимание!

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