Серия Pandas: все начинается с взрывающихся функций
Некоторое время назад в отделе ушел коллега по разработке больших данных, когда он и другие коллеги по разработке сдавали рабочий проект, я пошел на аудит, так как там были проблемы с бизнес-логикой компании. Говоря о проекте, он сказал:
Эта бизнес-логика..., я использую Hive'sфункция взрывареализовал эту функцию.
Тогда он привел простой пример, иллюстрирующий работу функции взрыва, и я тут же записал название функции:функция взрыва. Я редко использую Hive в своей работе, поэтому я подумал:Могут ли Pandas реализовать эту функцию??
функция взрыва
Что именно достигается функцией взрыва? Вспоминаю пример из того времени:
Теперь есть часть данных, включая номер заказа и цену предметов в заказе (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, добро пожаловать на внимание!
Юэр Коттедж, уютный коттедж. Хозяин хижины, стремится выжить одной рукой кода, а одной рукой наслаждается жизнью, добро пожаловать в гости