在python的numpy
中,为什么ogrid
总是产生int64
的结果?ogrid的dtype是否为numpy,可指定?
对于我的应用程序,我不想使用int64
,因为内存限制(稍后将输出组件一起播放时会起作用)。有什么比重铸,事后更好的选择:
y, x = np.ogrid[:9000,:9000]
y = y.astype(np.int16)
x = x.astype(np.int16)
对于大多数其他numpy的调用一个清洁的解决方案是使用一个dtype=...
可选参数,但ogrid
不作为函数调用。相反,它似乎与a+b
这样的运营商相似,只不过它们通常有替代品,如np.add(a,b,dtype=np.int8)
。