我在pandas中有数据框城市。我需要在其中添加一个布尔列,如果是,则为true 这座城市以圣人的名字命名 这个城市面积超过50平方英里。
我在下面写了评估它的条件。
城市[' cond1'] =城市['城市名称']。str.contains(' San')&城市['面积平方英里']> 50个
城市[' cond2'] =城市['面积平方英里']> 50&城市['城市名称']。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操作。 请帮助我理解这个结果,如何正确检查上述条件。
答案 0 :(得分:0)
由于>
优先级低于&
,A > X & B
被解析为A > (X & B)
,但您想要的是(A > X) & B
。