Часто при работе с фреймами данных (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.
Добавить комментарий