给定一个NumPy数组int32
,如何将其转换为float32
原位?所以基本上,我想做
a = a.astype(numpy.float32)
而不复制阵列。好大
这样做的原因是我有两种算法来计算a
。其中一个返回一个数组int32
,另一个返回一个数组float32
(这是两种不同算法固有的)。所有进一步的计算都假定a
是的数组float32
。
目前,我在C函数中通过via进行转换ctypes
。有没有办法在Python中做到这一点?
@Karl:不,因为我必须自己编写和编译C函数。
—
Sven Marnach 2010年
哦,我明白了。我认为您可能对此很满意。
—
Karl Knechtel 2010年
@Andrew:有很多方法可以判断它是否返回副本。其中之一是阅读文档。
—
Sven Marnach 2011年
就地简单意味着“使用与原始数组相同的内存”。看一下已接受的答案-最后一部分显示新值确实覆盖了相同的内存。
—
Sven Marnach 2012年
ctypes
既是“在Python”的使用numpy
。:)