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. Я сподіваюся, що це те, що ви можете використовувати. Сьогодні ви дізналися щось нове про панд.

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


Як використовувати запит природною мовою (Q&A) у LuckyTemplates

Як використовувати запит природною мовою (Q&A) у LuckyTemplates

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

Динамічно сортуйте візуалізації у звітах LuckyTemplates

Динамічно сортуйте візуалізації у звітах LuckyTemplates

Дізнайтеся, як динамічно сортувати візуалізації у звітах LuckyTemplates. Отримуйте якісну статистику, творчо підходячи до представлення даних.

Поле пошуку PowerApps: як додати та налаштувати

Поле пошуку PowerApps: як додати та налаштувати

Дізнайтеся, як створити поле пошуку PowerApps з нуля та налаштувати його відповідно до загальної теми вашої програми.

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Збирайте або фіксуйте значення в мірі для повторного використання в іншій мірі для динамічних обчислень за допомогою SELECTEDVALUE DAX у LuckyTemplates.

Історія версій у списках SharePoint

Історія версій у списках SharePoint

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

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Ось інструмент для створення звітів і візуальних матеріалів, засіб вибору шістнадцяткових кодів кольорів, за допомогою якого можна легко отримати кольори для звітів LuckyTemplates.

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

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

Таблиці пропорцій і частот в Excel

Таблиці пропорцій і частот в Excel

Збирався зануритися в частотні таблиці в Excel, а також у таблиці пропорцій. Добре подивіться, що це таке і коли їх використовувати.

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Дізнайтеся, як завантажити та інсталювати DAX Studio та Tabular Editor 3 і як налаштувати їх для використання в LuckyTemplates і Excel.

Візуалізація карти форми LuckyTemplates для просторового аналізу

Візуалізація карти форми LuckyTemplates для просторового аналізу

Цей блог містить візуалізацію Shape Map для просторового аналізу в LuckyTemplates. Я покажу вам, як ви можете ефективно використовувати цю візуалізацію з її функціями та елементами.