栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在将楼层分割与NumPy一起使用时,为什么会显示dtype(即使它是本机类型)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在将楼层分割与NumPy一起使用时,为什么会显示dtype(即使它是本机类型)?

实际上,您在这里有多个不同的32位整数dtype。这可能是一个错误。

NumPy(偶然地?)创建了多个不同的带符号的32位整数类型,可能对应于C

int
long
。它们都显示为
numpy.int32
,但实际上是不同的对象。在C级别,我相信类型对象是
PyIntArrType_Type
and在此处
PyLongArrType_Type
生成的。

dtype对象具有

type
对应于该dtype标量的type对象的属性。正是这种
type
该属性NumPy的检查决定是否打印时
dtype
在一个阵列的信息
repr

_typelessdata = [int_, float_, complex_]if issubclass(intc, int):    _typelessdata.append(intc)if issubclass(longlong, int):    _typelessdata.append(longlong)...def array_repr(arr, max_line_width=None, precision=None, suppress_small=None):    ...    skipdtype = (arr.dtype.type in _typelessdata) and arr.size > 0    if skipdtype:        return "%s(%s)" % (class_name, lst)    else:        ...        return "%s(%s,%sdtype=%s)" % (class_name, lst, lf, typename)

numpy.arange(5)
numpy.arange(5) + 3
.dtype.type
numpy.int_
;
numpy.arange(5) // 3
numpy.arange(5) % 3
.dtype.type
是其他32位有符号整数类型。

至于为什么

+
并且
//
具有不同的输出dtype,它们使用不同的类型解析例程。这是一个
//
,而这是一个
+
//
的类型解析会寻找一个ufunc内部循环,该内环采用可以安全地将输入转换为输入
+
的类型,而的类型解析将NumPy类型提升应用于参数,并选择与结果类型匹配的循环。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662564.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号