Пивотните таблици продължават да бъдат сред най-почитаните и широко използвани инструменти в MS Excel. Независимо дали сте анализатор на данни, инженер по данни или просто редовен потребител, има вероятност вече да имате слабост към MS Excel.
Независимо от това, има нарастващ обхват за репликиране на инструментите и помощните програми на MS Excel, особено в Python. Знаете ли, че можете да създавате обширни осеви таблици в DataFrames на Python с няколко реда код?
Да, това е правилно; ако сте заинтригувани, ето как можете да го направите.
Предпоставки за създаване на обобщени таблици
Както всеки друг език за програмиране, дори Python се нуждае от вас да изпълните няколко предварителни условия, преди да можете да стигнете до кодирането.
За да получите най-оптимизираното изживяване, докато създавате първата си обобщена таблица в Python, ето какво ще ви трябва:
- Python IDE: Повечето кодове на Python имат интегрирана среда за разработка (IDE), предварително инсталирана на тяхната система. Има няколко Съвместими с Python IDE на пазара, включително Jupyter Notebook, Spyder, PyCharm и много други.
- Примерни данни: За илюстрация, ето примерен набор от данни, върху който да работите. Като алтернатива можете да промените тези кодове директно върху вашите данни на живо.
Връзка за примерни данни:Примерен супермаркет
Импортиране на основните библиотеки
Тъй като Python работи на концепцията за библиотеки на трети страни, трябва да импортирате панди библиотека за създаване на пивоти.
Можете да използвате Pandas за импортирайте Excel файл в Python и съхранявайте данните в DataFrame. За да импортирате Pandas, използвайте импортиране команда по следния начин:
импортиране панди като пд
Как да създадете Pivots в Python
Тъй като библиотеката вече е налична, трябва да импортирате Excel файла в Python, който е основата за създаване и тестване на опорни точки в Python. Съхранявайте импортираните данни в DataFrame със следния код:
# Създайте нова DataFrame
# заменете с вашия собствен път тук
път = "C://Users//user/OneDrive//Desktop//"
# можете да определите името на файла тук
файл = "Пример - Superstore.xls"
df = pd.read_excel (път + файл)
df.глава()
Където:
- df: Име на променлива за съхраняване на данните от DataFrame
- пд: Псевдоним за библиотека Pandas
- read_excel(): Функция Pandas за четене на Excel файл в Python
- път: Мястото, където се съхранява Excel файлът (Sample Superstore)
- файл: Име на файл за импортиране
- глава(): Показва първите пет реда на DataFrame по подразбиране
Горният код импортира Excel файла в Python и съхранява данните в DataFrame. И накрая, на глава функцията показва първите пет реда с данни.
Тази функция е удобна, за да се гарантира, че данните се импортират правилно в Python.
Кои полета на обобщена таблица съществуват в Python?
Подобно на своя аналог в Excel, обобщената таблица има подобен набор от полета в Python. Ето няколко полета, за които трябва да знаете:
- Данни: Полето за данни се отнася до данните, съхранявани в Python DataFrame
- Стойности: Данни в колони, използвани в рамките на обобщена информация
- Индекс: Индексна колона(и) за групиране на данните
- Колони: Колоните помагат при агрегирането на съществуващите данни в рамките на DataFrame
Целта на използването на функцията Index
Тъй като индексната функция е основният елемент на обобщена таблица, тя връща основното оформление на данните. С други думи, можете да групирате вашите данни с индекс функция.
Да предположим, че искате да видите някои обобщени стойности за продуктите, изброени в сегмент колона. Можете да изчислите предварително дефиниран агрегат (средна стойност) в Python, като дефинирате определената колона като стойност на индекс.
df.pivot_table (index = "сегмент")
Където:
- df:DataFrame, съдържаща данните
- осева_таблица: Функция за обобщена таблица в Python
- индекс: Вградена функция за дефиниране на колона като индекс
- сегмент: Колона за използване като стойност на индекс
Имената на променливите на Python са чувствителни към малки и големи букви, така че избягвайте прехода от предварително дефинираните имена на променливи, изброени в това ръководство.
Как да използвате стойности с множество индекси
Когато искате да използвате няколко индексни колони, можете да дефинирате имената на колоните в a списък в рамките на индексната функция. Всичко, което трябва да направите, е да посочите имената на колоните в рамките на набор от квадратни скоби ([ ]), както е показано по-долу:
df.pivot_table (индекс = ["Категория", "Подкатегория"])
Функцията за завъртане отстъпва индексната колона в изхода. Python показва означава на всички числови стойности срещу всяка стойност на индекса.
Научете се да ограничавате стойностите в изхода
Тъй като Python избира всички цифрови колони по подразбиране, можете да ограничите стойностите, за да промените резултатите, показани в крайния изход. Използвай стойности функция, за да определите колоните, които искате да видите.
df.pivot_table (индекс = ["Регион", "Категория", "Подкатегория"], стойности = "Продажби")
В крайния резултат ще има три индексни колони и средните стойности за колоната Продажби, съпоставени с всеки елемент.
Дефиниране на агрегатни функции в обобщена таблица
Какво се случва, когато не искате да изчислявате средните стойности по подразбиране? Обобщената таблица има много други функции, които се простират отвъд изчисляването на проста средна стойност.
Ето как да напишете кода:
df.pivot_table (индекс = ["Категория"], стойности = "Продажби", aggfunc = [сума, макс., мин., дължина])
Където:
- сума: Изчислява сумата от стойности
- макс.: Изчислява максималната стойност
- мин.: Изчислява максималната стойност
- обектив: Изчислява броя на стойностите
Можете също така да дефинирате всяка от тези функции в отделни редове код.
Как да добавите общи суми към обобщената таблица
Никой актив от данни не е пълен без общите суми. За да изчислите и покажете общите суми за колона с данни, използвайте маржове и margins_name функция.
df.pivot_table (индекс = ["Категория"], стойности = "Продажби", aggfunc = [sum, max, min, len], margins=True, margins_name='Общи суми')
Където:
- полета: Функция за изчисляване на общата сума
- margins_name: Посочете името на категорията в колоната с индекси (например Общи суми)
Променете и използвайте окончателния код
Ето краткия кратък код:
импортиране панди като пд
# заменете с вашия собствен път тук
път = "C://Users//user/OneDrive//Desktop//"
# можете да определите името на файла тук
файл = "Пример - Superstore.xls"
df = pd.read_excel (път + файл)
df.pivot_table (индекс = ["Регион", "Категория", "Подкатегория"], стойности = "Продажби",
aggfunc = [сума, макс., мин., дължина],
маржове=Вярно,
margins_name='Общи суми')
Създаване на обобщени таблици в Python
Когато използвате обобщени таблици, опциите са просто безкрайни. Python ви позволява лесно да боравите с огромни масиви от данни, без да се притеснявате за несъответствия в данните и забавяне на системата.
Тъй като функционалностите на Python не са ограничени само до кондензиране на данни в оси, можете да комбинирате множество работни книги и листове на Excel, докато изпълнявате поредица от свързани функции с Python.
С Python винаги има нещо ново на хоризонта.