Оценка логического И в пандах
У меня есть датафрейм Города в пандах. Мне нужно добавить в него логический столбец, если
1. Город назван в честь святого.
2. Город имеет площадь более 50 квадратных миль.
Я написал ниже условия для его оценки.
города ['cond1'] = города ['Название города'].str.contains('Сан') и города ['Площадь квадратных миль'] > 50
города ['cond2'] = города ['Площадь квадратных миль'] > 50 & городов ['Название города'].str.contains('Сан')
города
за что я получаю ниже результат:
City name Population Area square miles cond1 cond2
0 San Francisco 852469 46.87 False True
1 San Jose 1015785 176.53 False True
2 Sacramento 485199 97.92 False True
Оба столбца cond1 и cond2 проверяют одно и то же условие, но дают противоположные результаты, что также кажется неправильным, поскольку я пытаюсь выполнить операцию AND. Пожалуйста, помогите мне понять этот результат и как я могу правильно проверить вышеуказанные условия.
1 ответ
Как >
имеет более низкий приоритет, чем &
, A > X & B
анализируется как A > (X & B)
но то, что вы хотите, это (A > X) & B
,