numpy:int是一个基本字符串?

时间:2017-03-02 23:54:17

标签: python numpy types

numpy数字类型如何是basestring

的子类型
for nptype in [np.int32, np.int64, np.integer, np.float]:
    for stype in [str, basestring, unicode]:
        print nptype, stype, np.issubdtype(nptype,stype)
<type 'numpy.int32'> <type 'str'> False
<type 'numpy.int32'> <type 'basestring'> True
<type 'numpy.int32'> <type 'unicode'> False
<type 'numpy.int64'> <type 'str'> False
<type 'numpy.int64'> <type 'basestring'> True
<type 'numpy.int64'> <type 'unicode'> False
<type 'numpy.integer'> <type 'str'> False
<type 'numpy.integer'> <type 'basestring'> True
<type 'numpy.integer'> <type 'unicode'> False
<type 'float'> <type 'str'> False
<type 'float'> <type 'basestring'> True
<type 'float'> <type 'unicode'> False

1 个答案:

答案 0 :(得分:3)

basestring不是dtype或者可以直接转换为dtype,issubdtype没有错误处理来识别它。 basestringnumpy.dtype上获取dtype,并且由于{{1}}看到输入是一个它不理解的Python类型对象,因此生成的dtype是对象dtype。其余的逻辑认为每个dtype都是对象dtype的子类型。