Python 为什么数据帧df<;1对于包含单个str值的任何列,是否返回True?

Python 为什么数据帧df<;1对于包含单个str值的任何列,是否返回True?,python,string,pandas,dataframe,logical-operators,Python,String,Pandas,Dataframe,Logical Operators,我对我的数据帧做了一些逻辑检查,如下所示: df = pd.DataFrame({'c1' : [2, 'A', 3], 'c2' : [4, 5, 1]}) 我做到了: df <= 1 您可以看到,列c1中的所有检查都返回True,甚至包括对“A”的检查,这是我不知道的原因,因为我认为“A”不能与1比较,应该会引发错误。而且,列c1中的2和3显然不是因为Python对字符串的求值不同于整数。空字符串的计算结果为False,任何其他字符串都为Tr

我对我的数据帧做了一些逻辑检查,如下所示:

df = pd.DataFrame({'c1' : [2, 'A', 3],
                   'c2' : [4, 5, 1]})

我做到了:

df <= 1

您可以看到,列c1中的所有检查都返回True,甚至包括对“A”的检查,这是我不知道的原因,因为我认为“A”不能与1比较,应该会引发错误。而且,列c1中的2和3显然不是因为Python对字符串的求值不同于整数。空字符串的计算结果为False,任何其他字符串都为True。这将给出
TypeError:'删除'A',它将正常工作
     c1     c2
0  True  False
1  True  False
2  True   True
df > 1
     c1     c2
0  True   True
1  True   True
2  True  False