Dada uma matriz NumPy de int32, como eu a converto float32 no local ? Então, basicamente, eu gostaria de fazer
a = a.astype(numpy.float32)
sem copiar a matriz. É grande.
A razão para fazer isso é que eu tenho dois algoritmos para o cálculo de a. Um deles retorna uma matriz de int32, o outro retorna uma matriz de float32(e isso é inerente aos dois algoritmos diferentes). Todos os cálculos adicionais assumem que aé uma matriz de float32.
Atualmente eu faço a conversão em uma função C chamada via ctypes. Existe uma maneira de fazer isso em Python?
ctypesé tanto "em Python" quanto usarnumpy. :)