Панды: где два условия? 🐼🔎
Используйте функцию pandas.DataFrame.where() для выполнения фильтрации по двум условиям.
import pandas as pd
# Создание исходного DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dave'],
'Age': [25, 30, 35, 40],
'Height': [160, 175, 180, 165],
'Weight': [60, 70, 80, 90]}
df = pd.DataFrame(data)
# Фильтрация по двум условиям
filtered_df = df.where((df['Age'] > 30) & (df['Height'] < 180))
print(filtered_df)
В этом примере мы используем функцию where(), чтобы отфильтровать DataFrame по двум условиям: возраст больше 30 и рост меньше 180.
Результат будет содержать только те строки, которые удовлетворяют обоим условиям.
Метод where() заменяет значения, не соответствующие условию, на NaN.
Детальный ответ
Использование pandas where с двумя условиями
Привет, студент! В этой статье мы разберём, как использовать метод pandas where с двумя условиями.
Метод pandas where является мощным инструментом для фильтрации данных в DataFrame на основе заданных условий. Он позволяет нам создавать новый DataFrame, содержащий только те строки и столбцы, для которых выполняются определённые условия.
Чтобы использовать pandas where с двумя условиями, нам нужно составить комбинированное условие, которое будет проверять оба условия одновременно. Для этого мы можем использовать логические операторы & (и) или | (или).
Пример кода:
import pandas as pd
# Создаем пример DataFrame
data = {'Name': ['John', 'Jane', 'Mike', 'Emily'],
'Age': [25, 30, 35, 40],
'Score': [90, 85, 95, 80]}
df = pd.DataFrame(data)
# Используем pandas where с двумя условиями
filtered_df = df.where((df['Age'] > 30) & (df['Score'] >= 90))
print(filtered_df)
В этом примере мы создаем DataFrame с именами, возрастами и баллами. Затем мы используем pandas where для фильтрации данных по двум условиям: возраст больше 30 и баллы равны или выше 90. Результатом будет новый DataFrame filtered_df, содержащий только строки, для которых выполняются оба условия.
Обратите внимание на использование фигурных скобок вокруг каждого условия и операторов & и |, чтобы объединить два условия.
Также стоит отметить, что в pandas where значение будет заменено на NaN (Not a Number), если условие не выполняется. Это позволяет нам сохранять структуру DataFrame и избегать удаления строк или столбцов при фильтрации данных.
Вывод:
Метод pandas where с двумя условиями является мощным инструментом для фильтрации данных в DataFrame. Он позволяет нам создавать новый DataFrame, содержащий только те строки и столбцы, для которых выполняются объединенные условия. Используйте логические операторы & и | для соединения двух условий в комбинированное условие.
Удачи в использовании pandas where с двумя условиями в ваших проектах!