Рубрики
Без рубрики

Как фильтровать строки Pandas DataFrame?

Автор оригинала: Python Examples.

Pandas DataFrame – Ряды фильтра

Чтобы фильтровать строки PandaS DataFrame, вы можете использовать функцию dataframe.isin (). ISIN () Возвращает DataFrame Boolean, которое при использовании с оригинальным DataFrame, фильтры строки, которые подчиняются критериям фильтра.

Вы также можете использовать dataframe.query (), чтобы отфильтровать строки, которые удовлетворяют заданному булевому выражению.

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

Пример 1: Filter DataFrame Rows – DataFrame.isin ()

В этом примере мы сделаем dataframe с двумя столбцами, именами А и B и четыре ряда. Мы будем отфильтровать это датафарам, основанное на условиях, что значения столбца А лежит в данном диапазоне.

Python Program

import pandas as pd

#initialize dataframe
df = pd.DataFrame({'a': [2, 4, 8, 5], 'b': [2, 0, 9, 7]})

#check if the values of df['a'] are in the range(3,6)
out = df['a'].isin(range(3,6))

#filter dataframe
filtered_df = df[out]

print('Original DataFrame\n-------------------\n',df)
print('\nFiltered DataFrame\n-------------------\n',filtered_df)

ISIN () Функция возвращает true для строк, столбец которых А Значения находятся в диапазоне (3,6). Еще функция возвращает false.

DF [OUT] возвращает только те строки, значение которой верно, что приводит к тому, что в результате фильтрованного выхода.

Выход

Original DataFrame
-------------------
    a  b
0  2  2
1  4  0
2  8  9
3  5  7

Filtered DataFrame
-------------------
    a  b
1  4  0
3  5  7

Пример 2: Флампировать Filter DataFrame Frames – DataFrame.Query ()

В этом примере мы будем инициализировать dataframe с двумя столбцами А и B , содержащий четыре ряда. Мы фильтруем эти строки, чья колонна B Значение больше 4.

Мы будем использовать dataframe.query (), чтобы фильтровать строки dataframe.

Python Program

import pandas as pd

#initialize dataframe
df = pd.DataFrame({'a': [1, 4, 7, 2], 'b': [2, 0, 8, 7]})

#get rows where that b>4
filtered_df = df.query('b>4')

print('Original DataFrame\n-------------------\n',df)
print('\nFiltered DataFrame\n-------------------\n',filtered_df)

Выход

Original DataFrame
-------------------
    a  b
0  1  2
1  4  0
2  7  8
3  2  7

Filtered DataFrame
-------------------
    a  b
2  7  8
3  2  7

Резюме

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