MultiIndex у Pandas для багаторівневих або ієрархічних даних

MultiIndex у Pandas — це багаторівневий або ієрархічний об’єкт, який дозволяє вам вибирати більше ніж один рядок і стовпець у вашому індексі. Це також дозволяє створювати складний аналіз даних і маніпуляції, особливо для роботи з даними більшої розмірності. У цьому підручнику я збираюся дослідити функцію MultiIndex у Pandas. Ви можете переглянути повне відео цього підручника внизу цього блогу.

Ідея полягає в тому, що ми маємо індекс, який також містить ієрархію. Якщо ви раніше користувалися Pandas, ви це знаєте, тому ми збираємося додати додаткові шари до цього. Це спростить як індексування, так і зміну форми даних, залежно від того, чи справді у вас є ієрархія для ваших даних.

Для прикладу ми використаємо відомий набір даних Gapminder, і це справді MultiIndex. У нас є ієрархія, тому континент розрізняє країни, і кожна країна може розрізняти кілька років. Таким чином, ми можемо маніпулювати цим індексом, і все буде набагато легше кодувати, коли ми використовуємо цей MultiIndex. Ми розглянемо нарізку, а також зміну форми набору даних Gapminder.

Зміст

Як використовувати мультиіндекс у Pandas

Ми будемо використовувати набір даних Gapminder. Якщо у вас цього не встановлено, ви хочете встановити Gapminder у режимі PIP. Я також збираюся привести панд. Я використовую дистрибутив Python Anaconda. У такому випадку Panda вже буде встановлено. Ми імпортуємо Gapminder, а потім переглянемо ці дані.

MultiIndex у Pandas для багаторівневих або ієрархічних даних

Як ви можете бачити тут, ми знову маємо індекс або ієрархію. Я маю сказати, що у нас є континент, країна, а потім рік. Наразі індекс є просто числовим, і ми збираємося встановити наш власний індекс прямо зараз. І те, як ми це зробимо, — це Gapminder. Ми встановимо індекс. Ми збираємося встановити його на континент, країну, а потім рік, inplace дорівнює ( = ) true .

MultiIndex у Pandas для багаторівневих або ієрархічних даних

Це просто збереження результатів, тому нам не потрібно викликати змінну двічі, просто трохи ефективніше. А тепер ви побачите, що тут є індекс (вміст, країна, рік), і це наш мультиіндекс.

Кілька речей, які ми могли б зробити тут. Скажімо, наприклад, я хотів усе на європейському континенті. Я хочу відфільтрувати або розділити цей кадр даних. Я можу використати gapminder.loc , а потім ввести Європу. Ви можете бути знайомі з лок. З інших обставин у Pandas це працює набагато легше, коли ми робимо це за індексом.

MultiIndex у Pandas для багаторівневих або ієрархічних даних

Тепер це існує в ієрархії. Скажімо, нам потрібні лише дані зі Сполученого Королівства. Здається, ми могли б просто розрізати це, але це буде проблемою, тому що, коли ми це індексуємо, ми застрягли на використанні ієрархії. Нам потрібно почати з першого рівня, а потім просвердлити другий, третій і так далі.

Якщо я хочу включити кілька рівнів, що я можу зробити, це передати це тут. Я збираюся поїхати в Європу, а потім у Сполучене Королівство. Я міг би навіть піти далі і поставити 1997. І тепер ми можемо побачити ось результат цього рядка в цьому випадку.

MultiIndex у Pandas для багаторівневих або ієрархічних даних

Ще одна приємна річ із MultiIndex у Pandas полягає в тому, що набагато простіше змінювати форму даних. Я можу зробити gapminder_pivot , а потім gapminder.unstack . Якщо мені з якоїсь причини потрібно змінити форму цього набору даних, я надрукую це, і ви побачите, що тепер у нас є континент, країна, а потім рік разом зі стовпцями.

MultiIndex у Pandas для багаторівневих або ієрархічних даних

Тепер, скажімо, я хотів зробити це в протилежному напрямку. Все, що мені потрібно було зробити, це unpivot, і ми збираємося зробити gapminder_pivot . Якщо це було розкладання, то це стекування gapminder_unpivot.

MultiIndex у Pandas для багаторівневих або ієрархічних даних

А що, якщо я хочу позбутися цього індексу, скинути його та змінити на щось інше? Все, що мені потрібно зробити в цьому випадку, це gapminder_unpivot. Ми збираємося reset_index . Ми збираємося зробити це на місці знову. Ми не повинні економити на собі. Це просто трохи ефективніше. Потім gapminder_unpivot.

Роздрукуйте це, і ми повернемося до наших вихідних даних, і ми матимемо індекс. Числове значення починається з нуля, оскільки Python використовує індексацію на основі нуля.

MultiIndex у Pandas для багаторівневих або ієрархічних даних




Висновок

Pandas спочатку був названий на честь панелі даних. Він справді призначений для роботи з даними панелей, які є певним типом даних часових рядів із кількома категоріями. У такому випадку наявність ієрархії дійсно має сенс, чи не так?

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

Що стосується продуктивності, можливо, індекс не потрібен, якщо ви об’єднуєте, але ми не об’єднувалися тут. Ми просто працювали, отримували доступ, індексували, змінювали форму тощо. Проте ефективність кодування, безперечно, є великою перевагою.

Ось і все для MultiIndex у Pandas. Я сподіваюся, що це те, що ви можете використовувати. Сьогодні ви дізналися щось нове про панд.

Все найкраще!


Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.