我只是试图将math.erf()
的输出写入一个numpy数组。
我所做的就是:
import numpy as np
import math
a=np.array([0,0,0])
a[0]=math.erf(5)
但是,永远不会更新a来保存math.erf()
的输出值,它应该只是一个浮点数。
我做错了什么?
更新
通过a
从列表创建a=np.asarray(a)
时,它似乎有效。
答案 0 :(得分:6)
它确实会更新,但它不会更改它们的数组类型,因此值似乎不会更改。注意
a=np.array([0,0,0])
a.dtype
返回
dtype('int64')
由于math.erf(5)
< 1为整数,因此为零。
作为替代方案(有很多方法可以创建特定类型的数组)
a=np.array([0,0,0],dtype=float)
a[0]=math.erf(5)
你的期望。