我尝试使用pandas数据框的元素进行类型检查,该元素似乎是一个字符串:
type(atmdf.ix[row]['bid'])
<type 'str'>
但是,如果我进行类型检查,我会得到错误:
type(atmdf.ix[row]['bid']) is 'str'
False
即使有了实例,我也会得到同样意想不到的结果:
isinstance(type(atmdf.ix[row]['bid']), str)
False
我哪里错了?
P.S。数据框的内容是这样的:
atmdf.ix[row]['bid']
'28.5'
谢谢你!
答案 0 :(得分:2)
您必须使用isintance
测试字符串本身,而不是类型:
In [2]: isinstance('string', str)
Out[2]: True
所以在你的情况下(省略type(..)
):isinstance(atmdf.ix[row]['bid'], str)
。
您的第一次检查不起作用,因为您必须与str
(类型)进行比较而不是'str'
(字符串)。