Змінні та вирази в редакторі Power Query
У цьому посібнику обговорюватимуться змінні та вирази в редакторі Power Query. Ви навчитеся правильно їх писати та будувати.
Pandas — широко використовувана бібліотека Python для обробки та аналізу даних. Однією з основних функцій, яку може надати вам pandas, є можливість змінювати структуру набору даних. Зокрема, видалення індексів у DataFrame є важливою операцією під час роботи з наборами даних. Це дозволяє видаляти непотрібні рядки або стовпці з даних.
Щоб видалити індекс за допомогою pandas, ви можете використовувати методи .drop() і .reset_index(). Метод .drop() дозволяє видаляти певні рядки або стовпці. З іншого боку, метод .reset_index() дозволяє видалити індекс і скинути його до стандартного RangeIndex.
У цій статті ми обговоримо використання цих методів для видалення індексів у pandas DataFrames. Ми розглянемо різні приклади, щоб продемонструвати, як ефективно маніпулювати структурою набору даних відповідно до різних аналітичних потреб. Завдяки цим прикладам ви отримаєте глибше розуміння того, як бібліотеку pandas можна використовувати для маніпулювання даними.
Давайте потрапимо в це!
Зміст
Розуміння Pandas Drop Index
Перш ніж ми зануримося в видалення індексу з pandas, дуже важливо, щоб ви розуміли, що таке pandas DataFrame. Крім того, ви також повинні бути знайомі з концепцією індексів і стовпців у pandas DataFrame.
У цьому розділі ми розглянемо основи pandas DataFrame, індекс і стовпці. Потім ми розглянемо приклад видалення індексу за допомогою pandas.
1. Що таке фрейм даних Pandas?
Pandas — це бібліотека Python з відкритим вихідним кодом, яка надає високопродуктивні інструменти обробки та аналізу даних. Однією з його ключових структур даних є DataFrame .
Pandas DataFrame — це двовимірна структура даних із позначеними осями (рядки та стовпці). Ви можете думати про DataFrame як про представлення об’єкта Pythonic таблиці SQL або електронної таблиці Excel.
Нижче наведено типовий DataFrame pandas:
2. Що таке індекси та стовпці?
У pandas DataFrame індекс служить «адресою» для точок даних. Він надає засоби доступу та організації даних у DataFrame. Це може бути або послідовність цілих чисел за замовчуванням, призначена pandas, або визначений користувачем індекс.
Стовпці — це змінні, які містять різні типи даних у DataFrame. Кожен стовпець, по суті, є серією даних. Він може містити різні типи даних, такі як цілі числа, числа з плаваючою точкою або рядки. Мітка стовпця, яку зазвичай називають іменем стовпця, ідентифікує цей ряд даних.
У pandas DataFrame маніпулювання даними часто передбачає роботу з мітками рядків (індексів) або мітками стовпців.
Деякі поширені операції, які можна виконувати з DataFrame з кількома індексами, включають вибір, перейменування та видалення рядків або стовпців на основі їхніх міток.
3. Як видалити стовпець індексу за допомогою Pandas
У pandas ви можете використовувати метод DataFrame reset_index() , щоб видалити та скинути індекс.
Припустимо, у нас є наступний DataFrame:
Щоб видалити стовпець індексу, ми можемо використати такий код:
df.reset_index(drop=True)
Після запуску цього коду ви отримаєте наведений нижче приклад:
У вихідних даних можна побачити, що індекс видалено та замінено вихідними значеннями індексу.
Ви також можете використовувати метод drop у pandas, щоб видалити вказані мітки з рядків або стовпців.
Синтаксис цього методу:
DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
Нижче наведено ключові параметри методу скидання :
labels : Мітки, які потрібно видалити. Це можуть бути як рядки, так і стовпці залежно від параметра осі .
axis : визначає, чи скидати з рядків ( 0 або 'index' ) чи стовпців ( 1 або 'columns' ).
index : альтернатива вказівці axis=0 . Дозволяє вказати мітки рядків, які потрібно видалити.
columns : альтернатива вказівці axis=1 . Дозволяє вказати мітки стовпців, які потрібно видалити.
inplace : якщо встановлено значення True , операція виконуватиметься на місці, тобто вихідний DataFrame буде змінено. Якщо False (за замовчуванням), буде повернено новий DataFrame із видаленими вказаними мітками.
errors : керує обробкою відсутніх міток. Якщо «підняти» (за замовчуванням), буде викликана помилка, коли мітки не знайдено. Якщо "coerce" , відсутні мітки мовчки ігноруватимуться.
Припустимо, у нас є наступний DataFrame:
Ми хотіли б видалити рядок з індексом 1. Щоб зробити це за допомогою методу drop, ви можете написати такий код, починаючи з import pandas:
import pandas as pd
# Drop row with index 1
df.drop(1, axis=0)
Аргумент axis=0 переміщення повідомляє інтерпретатору, що ми виконуємо операцію по рядках. Другим аргументом 1 є індекс рядка. Він повідомляє інтерпретатору видалити рядок з індексом 1.
Після описаної вище операції ми отримуємо наступний DataFrame:
Тепер, скажімо, ми хочемо видалити стовпець із віком як заголовком стовпця з нашого DataFrame. Щоб досягти цього, ми можемо написати такий код:
# Drop column 'Age'
df.drop('Age', axis=1)
Аргумент axis=1 повідомляє інтерпретатору, що ми виконуємо операцію по стовпцях. Аргумент «Вік» повідомляє інтерпретатору видалити стовпець із назвою «Вік».
Після виконання наведеного вище коду ви отримаєте наступний DataFrame:
Як видалити кілька рядків і стовпців
Наведений вище приклад демонструє видалення одного рядка або стовпця. Що робити, якщо ви хочете видалити кілька рядків або стовпців?
Щоб досягти цього, ми будемо використовувати той самий код з деякими невеликими змінами. Замість того, щоб використовувати одне значення, ми можемо надати аргументи функції drop, щоб видалити кілька рядків і стовпців одночасно.
Припустімо, я хочу видалити перші 2 рядки в нашому DataFrame. Щоб досягти цього, ми можемо використати такий код:
# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)
У цьому коді ми повідомляємо інтерпретатору видалити рядки 0 і 1. Вихід цього коду наведено нижче:
Ви бачите, що рядків 0 і 1 більше немає в DataFrame.
Давайте також вилучимо стовпці «Відділ» і «Зарплата». Для цього ми можемо використати такий код:
# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)
У цьому сценарії ми просимо інтерпретатора видалити стовпці з зарплатою та відділом як заголовками стовпців. Результат цього коду наведено нижче:
Це наш останній DataFrame. Загалом ми видалили два рядки та два стовпці з нашого DataFrame за допомогою методу drop.
Щоб дізнатися більше про MultiIndex у pandas, перегляньте таке відео:
Як відкинути рядки та стовпці за допомогою Inplace
У попередньому прикладі ви бачите, що ми спочатку вносимо зміни до DataFrame, а потім зберігаємо його як новий DataFrame. Однак це не ефективний спосіб видалення рядків і стовпців.
Інша альтернатива видаленню рядків і стовпців — встановити для аргументу inplace функції drop значення True .
Встановивши для параметра inplace значення True , ви можете постійно змінювати DataFrame без необхідності його повторного призначення.
Це корисно під час роботи з великими DataFrame, оскільки це може заощадити пам’ять, уникаючи створення нового DataFrame.
Нижче наведено приклад видалення рядків і стовпців із inplace :
# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)
# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)
Вихід наведеного вище коду наведено нижче:
Тут ви бачите, що ми не створюємо новий DataFrame, а вносимо зміни до оригінального.
Як працювати з індексами в Pandas
У цьому розділі ми обговоримо, як працювати з індексами в pandas DataFrame. Ми розглянемо наступні два підрозділи:
Встановити та скинути індекс
Стовпець ідентифікатора та індексу
1. Як встановити та скинути індекс
Одним з важливих аспектів роботи з пандами є розуміння того, як встановлювати та скидати стовпці індексів. Індекс є ключовим ідентифікатором для кожного рядка, і є випадки, коли ви можете змінити його.
Встановлення нового індексу
Щоб встановити новий індекс, ви можете скористатися методом set_index() . Синтаксис set_index наведено нижче:
df.set_index('column_name', inplace=True)
Аргумент inplace=True тут означає, що ми вносимо зміни до існуючого DataFrame.
Щоб продемонструвати це, ми використаємо наступний DataFrame:
Скажімо, ми хочемо зробити стовпець Name індексом нашого DataFrame. Щоб досягти цього, ми можемо використати такий код:
df.set_index('Name', inplace=True)
Цей сценарій Python зробить Name індексом нашого DataFrame. Результат цього коду наведено нижче:
Скидання значень індексу
Щоб скинути індекс до формату за замовчуванням (тобто RangeIndex від 0 до довжини DataFrame мінус 1), можна використати метод reset_index() .
Синтаксис reset_index() наведено нижче:
df.reset_index(drop=True, inplace=True)
Якщо встановити drop=True , поточний стовпець індексу буде видалено, тоді як inplace=True гарантує, що зміни будуть застосовані безпосередньо до DataFrame без створення нового.
Коли ми застосовуємо цей код до попереднього DataFrame, ми отримуємо такий результат:
Ви бачите, що ім’я, яке раніше було нашим індексом, скинуто до значень за замовчуванням.
2. Подальші операції зі стовпцем індексу
Коли ви імпортуєте DataFrame із, скажімо, файлу CSV, ви можете використовувати параметр index_col , щоб указати стовпець, який використовуватиметься як індекс.
Синтаксис index_col наведено нижче:
df = pd.read_csv('data.csv', index_col='column_name')
Крім того, якщо ви хочете експортувати DataFrame без стовпця індексу, ви можете встановити для параметра індексу значення False.
Синтаксис цього методу наведено нижче:
df.to_csv('output.csv', index=False)
Тепер, коли ви розумієте метод видалення індексу, давайте розглянемо, як ви можете обробляти помилки під час використання функції видалення в наступному розділі.
Як виправляти помилки під час використання функції Drop у Pandas
У цьому розділі ми дослідимо, як обробляти помилки та особливі випадки під час використання функції drop pandas для видалення стовпців індексу з DataFrame.
Зокрема, ми обговоримо наступне:
Обробка KeyError
Робота з повторюваними рядками
1. Як усунути KeyError
Під час використання функції drop у pandas ви можете зіткнутися з KeyError, якщо вказаний індекс або стовпець не знайдено у DataFrame.
Щоб запобігти виникненню цієї помилки, ви можете використовувати параметр errors . Параметр errors має два варіанти: «підняти» та «ігнорувати». За замовчуванням встановлено значення 'raise', що означає, що KeyError буде викликано, якщо вказаний індекс або стовпець не знайдено.
Однак ви можете встановити для нього значення «ігнорувати», якщо хочете придушити помилку та продовжити виконання коду.
Припустімо, що ми маємо наступний DataFrame. Спробуємо відкинути рядок, який не існує в DataFrame, і подивимося, що станеться:
# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)
Сценарій Python видасть таку помилку:
Щоб усунути такі помилки, переконайтеся, що ви посилаєтеся на рядки, присутні в наборі даних.
2. Як працювати з повторюваними рядками
Під час очищення даних важливим завданням є пошук дублікатів і їх видалення.
Робота з повторюваними рядками в DataFrame може ускладнити використання функції drop .
Якщо ви хочете видалити рядки на основі повторюваних значень індексу, ви можете скористатися функцією дублювання , а потім використати логічне індексування, щоб вибрати лише недубльовані рядки.
Припустимо, у нас є наступний DataFrame:
Ви бачите, що в нашому наборі даних є повторювані індекси. Щоб видалити дублікати, спочатку ми визначимо повторювані значення за допомогою такого коду:
# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')
Після цього ми виберемо лише недубльовані рядки та збережемо їх у попередньому DataFrame з таким кодом:
# Select only non-duplicated rows
df = df[~duplicated_rows]
Остаточний результат наведено нижче:
Остаточний результат більше не містить повторюваних рядків.
Заключні думки
Коли ви продовжуєте свою подорож у галузі науки про дані та аналітики, розуміння того, як маніпулювати даними та керувати ними, стане найважливішою навичкою.
Ключовою частиною цього є освоєння таких операцій, як видалення індексів у pandas. Знання того, як скинути або видалити індекс, є кроком до очищення, трансформації та отримання цінної інформації з ваших даних.
Навчившись видаляти індекси, ви зможете ефективніше змінювати форму своїх DataFrames. Ви також зможете створювати чистіші набори даних, які легше читати й аналізувати. Крім того, скидання індексів може мати вирішальне значення під час злиття або конкатенації кількох DataFrames, де можуть виникнути конфлікти індексів.
Можливість видаляти індекси дає вам більший контроль і гнучкість над своїми наборами даних!
У цьому посібнику обговорюватимуться змінні та вирази в редакторі Power Query. Ви навчитеся правильно їх писати та будувати.
Теплова карта LuckyTemplates — це тип візуалізації, який використовується для відображення щільності даних на карті. У цьому підручнику я розповім, як ми можемо створити один – не пропустіть!
Я збираюся навчити вас справді цікавому прикладу принципу Парето та тому, як створити діаграму Парето за допомогою важливих формул DAX.
Дізнайтеся, як користувацьку гістограму на ринку можна використовувати для порівняння даних і як ви можете створити їх за допомогою прикладів у LuckyTemplates.
Дізнайтеся, як працює функція Power Automate Static Results і чому її корисно додати до найкращих методів створення блок-схем.
eDNA демонструє, як виконувати переклад мови або тексту за допомогою Python і передавати це в LuckyTemplates. Підручник LuckyTemplates Python.
У цьому підручнику ви дізнаєтеся, як використовувати Gauge Bullet Graph для створення діаграми Ганта в LuckyTemplates Report Builder.
У цьому підручнику ви дізнаєтесь, як створити тривимірну (3D) точкову діаграму за допомогою Python у LuckyTemplates.
Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу
Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників