Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Pandas — это широко используемая библиотека Python для обработки и анализа данных. Одна из важных функций, которую могут предоставить вам панды, — это возможность изменять структуру набора данных. В частности, удаление индексов в DataFrame является важной операцией при работе с наборами данных. Это позволяет вам удалить ненужные строки или столбцы из данных.
Чтобы удалить индекс с пандами, вы можете использовать методы .drop() и .reset_index(). Метод .drop() позволяет удалить определенные строки или столбцы. С другой стороны, метод .reset_index() позволяет удалить индекс и сбросить его до RangeIndex по умолчанию.
В этой статье мы обсудим использование этих методов для удаления индексов в пандах DataFrames. Мы рассмотрим различные примеры, чтобы продемонстрировать, как эффективно манипулировать структурой набора данных в соответствии с различными аналитическими потребностями. Благодаря этим примерам вы получите более глубокое понимание того, как можно использовать библиотеку pandas для манипулирования данными.
Давайте погрузимся в это!
Оглавление
Понимание индекса Pandas Drop
Прежде чем мы углубимся в удаление индекса с помощью pandas, очень важно, чтобы вы поняли, что такое DataFrame pandas. Кроме того, вы также должны быть знакомы с концепцией индексов и столбцов в кадре данных pandas.
В этом разделе мы рассмотрим основы DataFrame, индекса и столбцов pandas. Затем мы рассмотрим пример удаления индекса с помощью pandas.
1. Что такое кадр данных Pandas?
Pandas — это библиотека Python с открытым исходным кодом, которая предоставляет высокопроизводительные инструменты для обработки и анализа данных. Одной из его ключевых структур данных является DataFrame .
Pandas DataFrame — это двумерная структура данных с помеченными осями (строками и столбцами). Вы можете думать о DataFrame как о объектном представлении Pythonic таблицы SQL или электронной таблицы Excel.
Ниже приведен типичный кадр данных pandas:
2. Что такое индексы и столбцы?
В кадре данных pandas индекс служит «адресом» для точек данных. Он предоставляет средства для доступа и организации данных в DataFrame. Это может быть либо последовательность целых чисел по умолчанию, назначенная pandas, либо пользовательский индекс.
Столбцы — это переменные, которые содержат различные типы данных в DataFrame. Каждый столбец, по сути, представляет собой серию данных. Он может содержать различные типы данных, такие как целые числа, числа с плавающей запятой или строки. Метка столбца, обычно называемая именем столбца, идентифицирует эту серию данных.
В pandas DataFrame манипулирование данными часто включает работу с метками строк (индексами) или метками столбцов.
Некоторые общие операции, которые вы можете выполнять с мультииндексным DataFrame, включают выбор, переименование и удаление строк или столбцов на основе их меток.
3. Как удалить столбец индекса с помощью Pandas
В pandas вы можете использовать метод dataFrame reset_index() для удаления и сброса индекса.
Предположим, у нас есть следующий DataFrame:
Чтобы удалить столбец индекса, мы можем использовать следующий код:
df.reset_index(drop=True)
После запуска этого кода вы получите следующий пример:
В выходных данных вы можете видеть, что индекс удален и заменен исходными значениями индекса.
Вы также можете использовать метод drop в пандах, чтобы удалить указанные метки из строк или столбцов.
Синтаксис этого метода:
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 : Управляет обработкой отсутствующих меток. Если 'raise' (по умолчанию), будет вызвана ошибка, когда метки не будут найдены. Если 'coerce' , отсутствующие метки будут молча игнорироваться.
Предположим, у нас есть следующий DataFrame:
Мы хотели бы удалить строку с индексом 1. Для этого с помощью метода drop вы можете написать следующий код, начиная с import pandas:
import pandas as pd
# Drop row with index 1
df.drop(1, axis=0)
Аргумент оси = 0 функции drop сообщает интерпретатору, что мы выполняем операцию по строкам. Второй аргумент 1 — это индекс строки. Он говорит интерпретатору удалить строку с индексом 1.
После вышеописанной операции мы получаем следующий DataFrame:
Теперь предположим, что мы хотели бы удалить столбец с Age в качестве заголовка столбца из нашего DataFrame. Для этого мы можем написать следующий код:
# Drop column 'Age'
df.drop('Age', axis=1)
Аргумент axis=1 сообщает интерпретатору, что мы выполняем операцию по столбцам. Аргумент «Возраст» указывает интерпретатору удалить столбец с именем «Возраст».
После запуска приведенного выше кода вы получите следующий DataFrame:
Как удалить несколько строк и столбцов
В приведенном выше примере показано удаление одной строки или столбца. Что делать, если вы хотите удалить несколько строк или столбцов?
Для этого мы будем использовать тот же код с небольшими изменениями. Вместо того, чтобы использовать одно значение, мы можем предоставить список аргументов функции удаления, чтобы удалить сразу несколько строк и столбцов.
Допустим, я хочу удалить первые 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)
In this Python script, we are asking the interpreter to drop the columns with Salary and Department as the column headers. The output of this code is given below:
This is our final DataFrame. In total, we deleted two rows and two columns from our DataFrame using the drop method.
To learn more about MultiIndex in pandas, check out the following video:
How to Drop Rows and Columns with Inplace
In the previous example, you can see that we first make changes to the DataFrame and then save it as a new DataFrame. However, this is not an efficient way of dropping rows and columns.
Another alternative to dropping rows and columns is to set the inplace argument of the drop function to True.
By setting the inplace parameter to True, you can permanently modify the DataFrame without having to reassign it.
This is useful when dealing with large DataFrames, as it can save memory by avoiding the creation of a new DataFrame.
The following is an example of dropping rows and columns with 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)
The output of the above code is given below:
Here, you can see that we are not creating any new DataFrame but making changes to the original one.
How to Work With Indexes in Pandas
In this section, we’ll discuss how to work with indexes in a pandas DataFrame. We’ll cover the following two sub-sections:
Set and reset Index
ID and index Column
1. How to Set and Reset Index
Одним из важных аспектов работы с pandas является понимание того, как устанавливать и сбрасывать столбцы индекса. Индекс — это идентификатор ключа для каждой строки, и в некоторых случаях вы можете захотеть его изменить.
Установка нового индекса
Чтобы установить новый индекс, вы можете использовать метод 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 без создания нового.
Когда мы применяем этот код к предыдущему кадру данных, мы получаем следующий вывод:
Вы можете видеть, что имя, которое ранее было нашим индексом, сбрасывается до значений по умолчанию.
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
В этом разделе мы рассмотрим, как обрабатывать ошибки и особые случаи при использовании функции удаления pandas для удаления столбцов индекса из DataFrame.
В частности, мы обсудим следующее:
Обработка KeyError
Работа с повторяющимися строками
1. Как справиться с KeyError
При использовании функции отбрасывания в pandas вы можете столкнуться с KeyError, если указанный индекс или столбец не найден в DataFrame.
Чтобы предотвратить появление этой ошибки, вы можете использовать параметр errors . Параметр ошибок имеет два варианта: «поднять» и «игнорировать». По умолчанию установлено значение «поднять», что означает, что KeyError будет вызвана, если указанный индекс или столбец не будет найден.
Однако вы можете установить значение «игнорировать», если хотите подавить ошибку и продолжить выполнение кода.
Предположим, у нас есть следующий DataFrame. Давайте попробуем удалить строку, которой нет в DataFrame, и посмотрим, что произойдет:
# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)
Скрипт Python выдаст следующую ошибку:
Для обработки таких ошибок убедитесь, что вы ссылаетесь на строки, присутствующие в наборе данных.
2. Как работать с повторяющимися строками
При очистке данных важной задачей является поиск дубликатов и их удаление.
Работа с повторяющимися строками в DataFrame может усложнить использование функции удаления .
Если вы хотите удалить строки на основе повторяющихся значений индекса, вы можете использовать функцию дублирования , а затем использовать логическое индексирование для выбора только неповторяющихся строк.
Предположим, у нас есть следующий DataFrame:
Вы можете видеть, что у нас есть повторяющиеся индексы в нашем наборе данных. Чтобы удалить дубликаты, сначала мы идентифицируем повторяющиеся значения с помощью следующего кода:
# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')
После этого мы выберем только неповторяющиеся строки и сохраним их в предыдущем DataFrame со следующим кодом:
# Select only non-duplicated rows
df = df[~duplicated_rows]
Окончательный результат приведен ниже:
В окончательном выводе больше нет повторяющихся строк.
Последние мысли
По мере того, как вы продолжаете свое путешествие по науке о данных и аналитике, понимание того, как манипулировать данными и управлять ими, является навыком, который окажется самым важным.
Освоение таких операций, как удаление индексов в pandas, является ключевой частью этого. Знание того, как сбросить или удалить индекс, — это ступенька к очистке, преобразованию и извлечению ценных сведений из ваших данных.
Научившись удалять индексы, вы сможете более эффективно изменять форму своих фреймов данных. Вы также сможете создавать более точные наборы данных, которые легче читать и анализировать. Кроме того, сброс индексов может иметь решающее значение при слиянии или объединении нескольких фреймов данных, где могут возникнуть конфликты индексов.
Возможность удалять индексы дает вам больший контроль и гибкость над вашими наборами данных!
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.