Оценка логического И в пандах

У меня есть датафрейм Города в пандах. Мне нужно добавить в него логический столбец, если
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,

Другие вопросы по тегам