pandas 中逻辑与的计算

Evaluation of Logical AND in pandas

我在 pandas 中有城市数据框。我需要在其中添加一个布尔列,如果
为真 1. 这座城市以一位圣人的名字命名。
2.城市面积大于50平方英里。

我写了下面的评估条件。

城市['cond1'] = 城市['City name'].str.contains('San') & 城市['Area square miles'] > 50
城市['cond2'] = 城市['Area square miles'] > 50 & 城市['City name'].str.contains('San')
城市
为此,我得到以下结果:

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 操作。 请帮助我理解这个结果以及如何正确检查上述条件。

由于 > 的优先级低于 &A > X & B 被解析为 A > (X & B) 但你想要的是 (A > X) & B.