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
.
我在 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
.