Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
2416

Фильтрация строк DataFrame в Python с использованием списка значений

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

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

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

Представьте, что у вас есть следующий фрейм данных:

import pandas as pd

data = {'Product_ID': ['001', '002', '003', '004', '005'],
        'Product_Name': ['apple', 'banana', 'cherry', 'durian', 'elderberry'],
        'Product_Price': [1, 2, 3, 4, 5]}

df = pd.DataFrame(data)

print(df)

Ваша задача — отфильтровать строки, где Product_ID соответствует значениям из списка ['001', '003', '005'].

Возможно, кто-то мог бы попытаться сделать это с помощью оператора in следующим образом:

filtered_df = df[df['Product_ID'] in ['001', '003', '005']]

Однако это приведет к ошибке, потому что Pandas не поддерживает этот синтаксис. Вместо этого нужно использовать метод .isin().

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

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

filtered_df = df[df['Product_ID'].isin(['001', '003', '005'])]
print(filtered_df)

Данный код вернет новый DataFrame, который содержит только те строки исходного DataFrame, в которых Product_ID соответствует одному из значений в списке ['001', '003', '005'].

Вот так просто можно отфильтровать строки DataFrame, используя список значений в Python с помощью библиотеки Pandas.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Добавить комментарий