Наука про дані

Як створити зведену таблицю в Pandas Python

Як створити зведену таблицю в Pandas Python
У пітоні panda зведена таблиця містить суми, відліки або функції агрегування, отримані з таблиці даних. Функції агрегації можуть використовуватися для різних ознак або значень. Зведена таблиця дозволяє узагальнити дані таблиці, згруповані за різними значеннями, включаючи категоріальні значення стовпців.

Перш ніж використовувати зведену таблицю panda, переконайтеся, що розумієте свої дані та запитання, які ви намагаєтеся вирішити за допомогою зведеної таблиці. Використовуючи цей метод, ви можете отримати потужні результати. У цій статті ми детально розберемо, як створити зведену таблицю в пандах python.

Зчитування даних із файлу Excel

Ми завантажили базу даних Excel про продаж продуктів харчування. Перед початком впровадження вам потрібно встановити кілька необхідних пакетів для читання та запису файлів бази даних excel. Введіть таку команду в розділі терміналу редактора pycharm:

pip встановити xlwt openpyxl xlsxwriter xlrd

Тепер прочитайте дані з аркуша Excel. Імпортуйте необхідні бібліотеки панди та змініть шлях до бази даних. Потім, запустивши наступний код, дані можна отримати з файлу.

імпортувати панд як pd
імпортувати numpy як np
dtfrm = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
друк (dtfrm)

Тут дані зчитуються з бази даних про продаж продуктів харчування та передаються у змінну dataframe.

Створіть зведену таблицю за допомогою Pandas Python

Нижче ми створили просту зведену таблицю, використовуючи базу даних про продаж продуктів харчування. Для створення зведеної таблиці потрібні два параметри. Перший - це дані, які ми передали у фрейм даних, а другий - індекс.

Зведення даних на індексі

Індекс - це функція зведеної таблиці, яка дозволяє групувати дані на основі вимог. Тут ми взяли "Product" як індекс для створення базової зведеної таблиці.

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.зведена таблиця (фрейм даних, індекс = ["Товар"])
друк (pivot_tble)

Наступний результат відображається після запуску вищевказаного вихідного коду:

Явно визначте стовпці

Для додаткового аналізу ваших даних чітко визначте назви стовпців за допомогою індексу. Наприклад, ми хочемо відобразити в результаті єдину UnitPrice кожного товару. Для цього додайте параметр значень у свою зведену таблицю. Наступний код дає той самий результат:

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.зведена таблиця (фрейм даних, index = 'Product', values ​​= 'UnitPrice')
друк (pivot_tble)

Зведення даних із мультиіндексом

Дані можна згрупувати на основі кількох ознак як індекс. Використовуючи мультиіндексний підхід, ви можете отримати більш конкретні результати для аналізу даних. Наприклад, товари належать до різних категорій. Отже, ви можете відобразити індекс «Товар» та «Категорія» з доступними «Кількістю» та «Одиницею ціни» кожного товару наступним чином:

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.зведена таблиця (фрейм даних, індекс = ["Категорія", "Товар"], значення = ["Одинична ціна", "Кількість"])
друк (pivot_tble)

Застосування функції агрегації у зведеній таблиці

У зведеній таблиці aggfunc можна застосовувати до різних значень функцій. Отримана таблиця - це узагальнення даних про особливості. Функція агрегування застосовується до даних вашої групи у зведеній таблиці. За замовчуванням агрегована функція - np.означає (). Але, виходячи з вимог користувача, різні сукупні функції можуть застосовуватися до різних функцій даних.

Приклад:

У цьому прикладі ми застосували агреговані функції. Np.Функція sum () використовується для функції "Кількість" та np.функція mean () для функції "UnitPrice".

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.зведена таблиця (фрейм даних, індекс = ["Категорія", "Продукт"], aggfunc = 'Кількість': np.sum, 'UnitPrice': np.означає)
друк (pivot_tble)

Після застосування функції агрегування для різних функцій ви отримаєте такий результат:

Використовуючи параметр value, ви також можете застосувати сукупну функцію для певної функції. Якщо ви не вкажете значення функції, вона агрегує числові функції бази даних. Дотримуючись наведеного вихідного коду, ви можете застосувати агрегатну функцію для певної функції:

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.зведена таблиця (фрейм даних, індекс = ['Товар'], значення = ['Ціна одиниці'], aggfunc = np.маю на увазі)
друк (pivot_tble)

Різниця між значеннями проти. Стовпці у зведеній таблиці

Значення та стовпці є основною незрозумілою точкою у зведеній таблиці. Важливо зауважити, що стовпці є необов’язковими полями, що відображають отримані значення таблиці горизонтально вгорі. Функція агрегування aggfunc застосовується до поля значень, яке ви перелічуєте.

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.зведена таблиця (фрейм даних, індекс = ['Категорія', 'Товар', 'Місто'], значення = ['Одиниця ціни', 'Кількість'],
колонки = ['Регіон'], aggfunc = [np.сума])
друк (pivot_tble)

Обробка відсутніх даних у зведеній таблиці

Ви також можете обробити відсутні значення у зведеній таблиці, використовуючи 'fill_value' Параметр. Це дозволяє замінити значення NaN на якесь нове значення, яке ви надаєте для заповнення.

Наприклад, ми видалили всі нульові значення з наведеної вище таблиці результатів, запустивши наступний код, і замінили значення NaN на 0 у всій результуючій таблиці.

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.зведена таблиця (фрейм даних, індекс = ['Категорія', 'Товар', 'Місто'], значення = ['Одиниця ціни', 'Кількість'],
колонки = ['Регіон'], aggfunc = [np.сума], fill_value = 0)
друк (pivot_tble)

Фільтрування у зведеній таблиці

Після створення результату ви можете застосувати фільтр, використовуючи стандартну функцію кадру даних. Візьмемо приклад. Відфільтруйте ті продукти, у яких UnitPrice менше 60. Тут відображаються ті товари, ціна яких менше 60.

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.зведена таблиця (dataframe, index = 'Product', values ​​= 'UnitPrice', aggfunc = 'sum')
низька ціна = pivot_tble [pivot_tble ['UnitPrice'] < 60]
друк (низька_цінка)

Використовуючи інший метод запиту, ви можете фільтрувати результати. Наприклад, Наприклад, ми відфільтрували категорію файлів cookie на основі таких функцій:

імпортувати панд як pd
імпортувати numpy як np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.зведена таблиця (фрейм даних, індекс = ["Категорія", "Місто", "Регіон"], значення = ["Ціна одиниці", "Кількість"], aggfunc = np.сума)
pt = pivot_tble.запит ('Категорія == ["Файли cookie"]')
друк (пт)

Вихід:

Візуалізуйте дані зведеної таблиці

Для візуалізації даних зведеної таблиці дотримуйтесь наступного методу:

імпортувати панд як pd
імпортувати numpy як np
імпортувати matplotlib.pyplot як plt
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.зведена таблиця (фрейм даних, індекс = ["Категорія", "Товар"], значення = ["Ціна одиниці"])
pivot_tble.ділянка (kind = 'bar');
plt.показати ()

У наведеній вище візуалізації ми показали ціну одиниці різних товарів разом із категоріями.

Висновок

Ми дослідили, як можна створити зведену таблицю з фрейму даних за допомогою Pandas python. Зведена таблиця дозволяє отримати глибоку інформацію про ваші набори даних. Ми бачили, як створити просту зведену таблицю за допомогою мультиіндексу та застосувати фільтри до зведених таблиць. Більше того, ми також показали, як скласти дані зведеної таблиці та заповнити відсутні дані.

Кращі емулятори ігрової консолі для Linux
У цій статті буде перелічено популярне програмне забезпечення для емуляції ігрової консолі, доступне для Linux. Емуляція - це рівень сумісності програ...
Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Як зафіксувати та транслювати ігровий сеанс на Linux
Раніше грати в ігри вважалося лише хобі, але з часом ігрова індустрія спостерігала величезний ріст з точки зору технологій та кількості гравців. Аудит...