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