Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpy-将随机整数作为浮点数_Python_Numpy_Casting - Fatal编程技术网

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

Python numpy-将随机整数作为浮点数,python,numpy,casting,Python,Numpy,Casting,在定点迭代中,我改变了矩阵初始化的方式 def init(M,N): return 2.5*np.ones([M,N]) 到 在哪里 这立刻引起了 A-=步长*G TypeError:无法使用强制转换规则“same\u kind”将ufunc减法输出从dtype('float64')强制转换为dtype('int32') 有什么大不了的,我只是 nprnd.randint(1,6,[M,N], dtype='float') 除了 TypeError:randint不支持的数据类型“f

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

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

在哪里

这立刻引起了

A-=步长*G

TypeError:无法使用强制转换规则“same\u kind”将ufunc减法输出从dtype('float64')强制转换为dtype('int32')

有什么大不了的,我只是

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

TypeError:randint不支持的数据类型“float64”


我该如何避免这种情况?我不想生成一个矩阵,然后复制它,只是为了把它转换成float。有更智能的方法吗?

您可以使用
astype
进行显式转换:

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

是的,但这复制了数组。没有办法避免吗?如果你想要这些范围之间的随机浮点值,你也可以用它来创建矩阵
5*np.random.random_sample((M,N))+1
@umutto谢谢你,但是我想要整数,我只需要它们作为浮点。@User1291你能再显示一点代码吗?特别是,什么是
G
,什么是
A
,什么是
步长
nprnd.randint(1,6,[M,N], dtype='float')
nprnd.randint(1,6,[M,N]).astype("float")