我有一个测向仪,我想运行如下程序:
subsetdf= df.loc[(df['Item_Desc'].str.contains('X')==True) or \
(df['Item_Desc'].str.contains('Y')==True ),:]
它选择具有Item Desc列的所有行,子字符串为“X”或“Y”。
The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
当我运行它的时候我得到了错误。有什么帮助吗?
条件如下
每个条件也必须用括号括起来。括号的优先级高于按位“或”运算符。如果没有提供圆括号,也会给出相同的错误
使用
|
而不是or
。所以:or
运算符希望比较两个布尔值(或两个计算结果为True或False的表达式)。但是序列(或numpy数组)的计算结果并不简单地为True或False,在本例中,我们希望对这两个序列元素进行比较。为此,可以使用|
,称为“按位或”。熊猫遵循着这里的习俗。有关解释,请参见熊猫文档中的here。
相关问题 更多 >
编程相关推荐