numpy - 将随机整数作为浮点数

时间:2017-03-27 10:05:53

标签: python numpy casting

所以在定点迭代中,我改变了矩阵的初始化方式

def init(M,N):
    return 2.5*np.ones([M,N])

def init(M,N):
    return nprnd.randint(1,6,[M,N])

,其中

import numpy as np
import numpy.random as nprnd

这立即引起了

  

A - = step_size * G

     

TypeError:无法使用强制转换规则' same_kind'

将ufunc从dtype(' float64')的输出减去dtype(' int32')
很重要,我只是

nprnd.randint(1,6,[M,N], dtype='float')

  

TypeError:不支持的dtype" float64"对于randint

我如何规避这个?我有点不想生成一个矩阵,然后复制它只是为了将其转换为浮动。有更智能的方式吗?

1 个答案:

答案 0 :(得分:5)

您可以使用astype进行显式演员:

nprnd.randint(1,6,[M,N]).astype("float")