Введение
В этом практическом занятии вы познакомитесь с методом query() библиотеки Pandas. Метод query() позволяет фильтровать DataFrame на основе булевого выражения. Он похож на метод filter(). Вы можете использовать этот метод для фильтрации DataFrame по одному или более столбцам, а также комбинировать несколько условий с помощью оператора 'AND'.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и приступить к практике в Jupyter Notebook.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Создание DataFrame
Сначала создадим DataFrame, с которым будем работать. В этом примере мы создадим DataFrame, содержащий информацию о людях, включая их имена, возраст, рост и вес.
#importing pandas as pd
import pandas as pd
#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
'Age': [19, 26, 22, 24, 21, 23],
'Height': [165, 150, 168, 157, 155, 170],
'Weight': [60, 65, 70, 50, 52, 55]})
Фильтрация DataFrame по одному столбцу
Далее давайте отфильтруем DataFrame по одному столбцу с использованием метода query(). В этом примере мы отфильтруем DataFrame так, чтобы он включал только строки, где возраст меньше 23.
#filtering the DataFrame by age
filtered_df = df.query('Age < 23')
#printing the filtered DataFrame
print(filtered_df)
Результат:
Name Age Height Weight
0 Chetan 19 165 60
2 Yuvraj 22 168 70
4 Sindu 21 155 52
Фильтрация DataFrame путём сравнения двух столбцов
Теперь давайте отфильтруем DataFrame, сравнивая два столбца с использованием метода query(). В этом примере мы отфильтруем DataFrame так, чтобы он включал только строки, где значения в столбце "sci_Marks" больше значений в столбце "Maths_Marks".
#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
'sci_Marks': [85, 70, 75, 90, 95, 70],
'Maths_Marks': [82, 79, 80, 89, 92, 70]})
#filtering the DataFrame by comparing two columns
filtered_df = df.query('sci_Marks > Maths_Marks')
#printing the filtered DataFrame
print(filtered_df)
Результат:
Name sci_Marks Maths_Marks
0 Chetan 85 82
3 Pooja 90 89
4 Sindu 95 92
Фильтрация DataFrame с использованием оператора 'AND'
Наконец, давайте отфильтруем DataFrame с использованием оператора 'AND' для комбинирования нескольких условий. В этом примере мы отфильтруем DataFrame так, чтобы он включал только строки, где рост выше 155 и вес выше 60.
#filtering the DataFrame by using 'AND' operator
filtered_df = df.query('Height > 155 and Weight > 60')
#printing the filtered DataFrame
print(filtered_df)
Результат:
Name Age Height Weight
1 Yashas 26 150 65
2 Yuvraj 22 168 70
Резюме
Поздравляем! В этом практическом занятии вы узнали, как использовать метод query() в библиотеке Pandas. Теперь вы знаете, как фильтровать DataFrame на основе булевого выражения, фильтровать по одному столбцу, сравнивать два столбца и использовать оператор 'AND' для комбинирования нескольких условий. Этот метод полезен для быстрого и эффективного фильтрации данных в DataFrame Pandas. Продолжайте практиковаться и изучать разные сценарии использования, чтобы стать более опытным в использовании метода query().