Dsc*_*oni 0 arrays math int numpy
我只是math.erf()想把输出写成一个numpy数组.我所做的只是:
import numpy as np
import math
a=np.array([0,0,0])
a[0]=math.erf(5)
Run Code Online (Sandbox Code Playgroud)
但是,a永远不会更新以保持输出的值math.erf()应该只是一个浮点数.我究竟做错了什么?
更新
当a通过从列表中创建a=np.asarray(a),它似乎工作.
它确实会更新,但它不会更改它们的数组类型,因此值似乎不会更改.请注意
a=np.array([0,0,0])
a.dtype
Run Code Online (Sandbox Code Playgroud)
返回
dtype('int64')
Run Code Online (Sandbox Code Playgroud)
由于math.erf(5)<1为整数,因此为零.
作为替代方案(有很多方法可以创建特定类型的数组)
a=np.array([0,0,0],dtype=float)
a[0]=math.erf(5)
Run Code Online (Sandbox Code Playgroud)
你的期望吗?