一个DataFrame称为c,它有一个名为price的列,在其中我想知道价格等于2或3的行。代码在这里起作用
c[(c['price'] == 2) | (c['price'] == 3)]
但是在这里不起作用:
c[c['price'] == 2 | c['price'] == 3]
并引发异常:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
唯一的区别是在第二行代码中,操作没有括号“()”。那么,为什么括号如此重要?
非常感谢你!
|
for or
,&
forand
和~
for not
。这些必须通过使用括号,由于默认的Python将评估例如表达被分组df['A'] > 2 & df['B'] < 3
为df['A'] > (2 & df['B']) < 3
,而所希望的评价顺序是(df['A > 2) & (df['B'] < 3)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句