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

Как запросить Pandas DataFrame?

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

Pandas DataFrame – запрос на основе столбцов

Чтобы запросить строки DataFrame на основе состояния, применяемого на столбцах, вы можете использовать Pandas.dataframe.Query () метод.

По умолчанию функция query () возвращает файл dataframe, содержащий фильтрованные строки. Вы также можете пройти Inplace = True Аргумент к функции, чтобы изменить исходное dataframe.

Пример 1: Запрос DataFrame с условием на одном столбце

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

Python Program

import pandas as pd

#initialize a dataframe
df = pd.DataFrame(
	[[21, 72, 67],
	[23, 78, 62],
	[32, 74, 56],
	[73, 88, 67],
	[32, 74, 56],
	[43, 78, 69],
	[32, 74, 54],
	[52, 54, 76]],
	columns=['a', 'b', 'c'])

#query single column
df1 = df.query('a>50')

#print the dataframe
print(df1)

Выход

    a   b   c
3  73  88  67
7  52  54  76

Пример 2: Запрос DataFrame с условием использования нескольких столбцов, использующих и оператор

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

Python Program

import pandas as pd

#initialize a dataframe
df = pd.DataFrame(
	[[21, 72, 67],
	[23, 78, 62],
	[32, 74, 56],
	[73, 88, 67],
	[32, 74, 56],
	[43, 78, 69],
	[32, 74, 54],
	[52, 54, 76]],
	columns=['a', 'b', 'c'])

#query multiple columns
df1 = df.query('a>30 and c>60')

#print the dataframe
print(df1)

Выход

    a   b   c
3  73  88  67
5  43  78  69
7  52  54  76

Пример 3: Запрос DataFrame с условием использования нескольких столбцов, использующих или оператор

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

Python Program

import pandas as pd

#initialize a dataframe
df = pd.DataFrame(
	[[21, 72, 67],
	[23, 78, 62],
	[32, 74, 56],
	[73, 88, 67],
	[32, 74, 56],
	[43, 78, 69],
	[32, 74, 54],
	[52, 54, 76]],
	columns=['a', 'b', 'c'])

#query multiple columns
df1 = df.query('a>50 or c>60')

#print the dataframe
print(df1)

Выход

    a   b   c
0  21  72  67
1  23  78  62
3  73  88  67
5  43  78  69
7  52  54  76

Пример 4: Запрос DataFrame с параметром Inflace

Мы можем пройти Inplace = True , чтобы изменить фактическое dataframe, на котором мы работаем.

Python Program

import pandas as pd

#initialize a dataframe
df = pd.DataFrame(
	[[21, 72, 67],
	[23, 78, 62],
	[32, 74, 56],
	[73, 88, 67],
	[32, 74, 56],
	[43, 78, 69],
	[32, 74, 54],
	[52, 54, 76]],
	columns=['a', 'b', 'c'])

#query dataframe with inplace trues
df.query('a>50 and c>60', inplace=True)

#print the dataframe
print(df)

Выход

    a   b   c
3  73  88  67
7  52  54  76

Резюме

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