tbc*_*tbc 27 python arrays numpy initialization multidimensional-array
我想初始化并填充一个numpy数组.什么是最好的方法?
这符合我的预期:
>>> import numpy as np
>>> np.empty(3)
array([ -1.28822975e-231, -1.73060252e-077, 2.23946712e-314])
Run Code Online (Sandbox Code Playgroud)
但这不是:
>>> np.empty(3).fill(np.nan)
>>>
Run Code Online (Sandbox Code Playgroud)
没有?
>>> type(np.empty(3))
<type 'numpy.ndarray'>
Run Code Online (Sandbox Code Playgroud)
在我看来,np.empty()调用返回正确类型的对象,所以我不明白为什么.fill()不工作?
分配np.empty()第一个工作结果正常:
>>> a = np.empty(3)
>>> a.fill(np.nan)
>>> a
array([ nan, nan, nan])
Run Code Online (Sandbox Code Playgroud)
为什么我需要分配给变量才能使用np.fill()?我错过了一个更好的选择吗?
Jos*_*del 40
你也可以尝试:
In [79]: np.full(3, np.nan)
Out[79]: array([ nan, nan, nan])
Run Code Online (Sandbox Code Playgroud)
相关文件:
Definition: np.full(shape, fill_value, dtype=None, order='C')
Docstring:
Return a new array of given shape and type, filled with `fill_value`.
Run Code Online (Sandbox Code Playgroud)
虽然我认为这可能只适用于numpy 1.8+
shx*_*hx2 27
np.fill在原地修改数组,然后返回None.因此,如果您将结果分配给名称,则其值为None.
另一种方法是使用返回的表达式nan,例如:
a = np.empty(3) * np.nan
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31894 次 |
| 最近记录: |