Фильтр по значению столбца в Pandas

Поскольку ФП труднее выучить, меньше людей программируют таким образом и, следовательно Программирование и разработка

Одним из самых популярных методов очистки данных является фильтрация данных из DataFrame. В зависимости от метки и положения столбцов и строк Pandas предлагает различные методы или методы для выбора данных. Кроме того, Pandas позволяет фильтровать строки с помощью логического индексирования и извлекать подмножество данных в зависимости от типов столбцов. В этой статье рассматриваются самые популярные методы извлечения подмножеств данных из Pandas DataFrame — выбор одного столбца по метке, выбор нескольких столбцов по метке и т. д.

Как отфильтровать по значению столбца в Pandas

Существует несколько методов и приемов, которые мы можем использовать для фильтрации данных из Pandas DataFrame на основе значений в столбцах. Мы продемонстрируем несколько методов фильтрации данных из DataFrame в следующих примерах:

Во-первых, мы увидим, как фильтровать строки Pandas DataFrame в зависимости от значений столбцов, используя определенные условные и реляционные операторы.

Пример 1. Фильтрация строк DataFrame с использованием [ ]

Чтобы продемонстрировать этот пример, нам сначала нужен DataFrame. DataFrame создается с помощью функции pandas.DataFrame(), поэтому мы сначала импортируем библиотеку Pandas, чтобы создать наш DataFrame.

Чтобы продемонстрировать этот пример, нам сначала нужен DataFram

Мы создали наш DataFrame, используя словарь Python, а затем передали его внутри функции pd.DataFrame(). Мы указали имена столбцов нашего DataFrame как «Студент», «Возраст», «Тема» и «Плата». Мы можем использовать функцию print(), чтобы проиллюстрировать наш DataFrame «df».

Мы создали наш DataFrame, используя словарь Python

В предыдущем DataFrame есть 4 столбца. «Студент» хранит имена («Анна», «Дэни», «Джон», «Рик», «Джим», «Кенни»). «Возраст» хранит возраст отдельных лиц (25, 23, 22, 18, 19, 20). «Предмет» состоит из названий предметов («Бухгалтерия», «Бизнес», «Наука», «Математика», «Архитектура», «ИИ»). А «гонорар» состоит из гонорара каждого предмета (900, 690, 799, 960, 970, 1080). Предположим, нам нужно отфильтровать строки, в которых значение больше 900 в столбце «комиссия».

Читайте также:  Как обрезать строку в Java?

В предыдущем DataFrame есть 4 столбца. «Студент» хранит имена

Чтобы получить доступ к значениям столбца «плата», мы помещаем название столбца, т. е. «плата», в круглые скобки. После доступа к значениям мы применили условие df[’fee’] > 900. Для хранения значений, удовлетворяющих условию, мы создали переменную output.

Чтобы получить доступ к значениям столбца «плата»

Мы получили три строки, удовлетворяющие предыдущему условию. Мы можем использовать разные столбцы внутри круглых скобок [ ].

Пример 2. Фильтрация строк DataFrame с использованием метода Loc[ ]

В этом примере метод loc[] используется для доступа к значениям из столбцов DataFrame. Затем мы используем реляционные или условные операторы для фильтрации строк DataFrame. Функция loc() упрощает быстрое получение значений из DataFrame. Передавая имя столбца, имя строки или значение индекса в функцию loc(), мы можем получить значения данных, которые хранятся внутри определенной строки или столбца.

В этом примере метод loc[] используется для доступа

Чтобы получить значения из столбцов age, мы передали df[’Age’] внутри функции df.loc[]. Мы также использовали условие внутри функции для извлечения только тех строк, где значение age больше 19. Чтобы проверить, были ли извлечены правильные строки или нет, давайте проиллюстрируем наш DataFrame с помощью функции print().

Чтобы получить значения из столбцов age, мы передали

В приведенных ранее примерах мы видели, как использовать реляционные или условные операторы для фильтрации определенных строк на основе значений столбца. Теперь мы увидим, как фильтровать данные с помощью функции isin().

Пример 3. Фильтрация строк DataFrame со значениями внутри списка с использованием метода Isin()

Элементы DataFrame проверяются, чтобы увидеть, содержатся ли они в значениях, используя функцию isin(). Только если все метки совпадают в данном месте, результат будет верным. Давайте создадим наш DataFrame после импорта модуля Pandas. Опять же, pd.DataFrame() используется для создания нашего нового DataFrame.

Элементы DataFrame проверяются, чтобы увидеть

Мы создали DataFrame с тремя столбцами — «имя», «должность» и «зарплата», в которых хранятся данные («Ричард», «Уилл», «Стив», «Ларри», «Лана», «Тони»), («Бухгалтер», «Бухгалтер», «Менеджер», «Клерк», «Клерк», «Менеджер») и (1200, 1250, 2100, 1000, 990, 2200) соответственно. Теперь мы создаем объект списка, который передается внутри функции isin() в качестве входных данных для сопоставления значений списка из указанных значений столбца нашего DataFrame.

Мы создали DataFrame с тремя столбцами

Сначала мы создали список, в который поместили значения «Бухгалтер» и «Менеджер», и присвоили этот список переменной «desig». Доступ к значению столбца «обозначение» осуществляется по имени столбца, т. е. «обозначение», внутри [ ]. Мы использовали функцию isin() для оценочных значений столбца, чтобы сопоставить значения в списке со значениями внутри столбца «обозначение» в нашем DataFrame.

Сначала мы создали список, в который поместили значения «Бухгалтер»

Мы использовали значения «Бухгалтер» и «Менеджер» внутри списка. Итак, функция вернула строки, в которых столбец назначения имеет значения «Менеджер» и «Бухгалтер».

Пример 4. Фильтрация данных на основе значений в столбцах DataFrame с использованием методов Loc[] и Isin()

Теперь мы используем метод loc[] для извлечения или доступа к определенным столбцам нашего DataFrame. После доступа к данным мы используем функцию isin() для фильтрации данных в нашем DataFrame.

Теперь мы используем метод loc[] для извлечения или

В предыдущем скрипте у нас есть список «sal» со ​​значениями [1200, 2100, 2200]. Затем список «sal» передается внутрь функции isin() в качестве аргумента для сопоставления значений списка со столбцом «salary». После сопоставления значений строки, полученные из функции, сохраняются в новой переменной «df_filter». Теперь мы просматриваем результат с помощью функции print().

В предыдущем скрипте у нас есть список «sal» со ​​значениями

Видно, что необходимые строки со значениями 1200, 2100 и 2200 извлекаются из кадра данных «df».

Теперь, в следующем примере, мы будем фильтровать данные, используя несколько условий.

Пример 5. Фильтрация строк DataFrame с использованием нескольких условий для столбцов DataFrame

Давайте сначала создадим DataFrame, где мы применим несколько условий для фильтрации строк DataFrame.

Давайте сначала создадим DataFrame, где мы применим несколько

В предыдущем DataFrame всего 4 столбца — «студент», «возраст», «курсы» и «плата». В столбце «Студент» хранятся имена студентов («Майк», «Роб», «Арья», «Том», «Джек», «Лука», «Марк», «Макс» и «Алекс»). Колонка «возраст» содержит возраст каждого учащегося (21, 21, 23, 22, 19, 20, 25, 23, 22). В то время как в столбцах «курсы» и «плата» хранятся названия курсов («Бухгалтерский учет», «Бизнес», «Наука», «Математика», «Архитектура», «ИИ», «Бухгалтерский учет», «Бизнес», «ИИ ») и стоимость каждого курса для студента (1000, 1190, 1250, 1320, 1245, 1580, 1420, 1600, 1600). Давайте применим условия для извлечения необходимых строк.

В предыдущем DataFrame всего 4 столбца — «студент»

Мы создали «подсписок» с элементами «Бухгалтерия» и «ИИ». Список передается в функцию isin() для сопоставления элементов списка со значениями столбца «курсы». Мы использовали еще одно условие: значение в столбце «комиссия» должно быть больше 1250. Предыдущий скрипт извлекает строки, удовлетворяющие обоим условиям.

Мы создали «подсписок» с элементами «Бухгалтерия»

Эти строки удовлетворяют обоим условиям.

Заключение

В этом руководстве мы обсудили несколько методов и приемов, которые можно использовать для фильтрации данных из Pandas DataFrame на основе значений в столбцах. Мы постарались, чтобы вы могли самостоятельно фильтровать данные на основе значений столбца. Мы реализовали различные примеры в этой статье, чтобы научить вас использовать функции loc[] и isin(), а также реляционные или условные операторы для извлечения данных из данного DataFrame в зависимости от значений столбца.

Оцените статью
bestprogrammer.ru
Добавить комментарий