初始化和填充numpy数组的最佳方法?

发布于 2021-01-29 15:27:40

我想初始化并填充numpy数组。什么是最好的方法?

这按我预期的那样工作:

>>> import numpy as np
>>> np.empty(3)
array([ -1.28822975e-231,  -1.73060252e-077,   2.23946712e-314])

但这不是:

>>> np.empty(3).fill(np.nan)
>>>

没有?

>>> type(np.empty(3))
<type 'numpy.ndarray'>

在我看来,该np.empty()调用返回的是正确类型的对象,所以我不明白为什么.fill()它不起作用?

分配np.empty()first结果的效果很好:

>>> a = np.empty(3)
>>> a.fill(np.nan)
>>> a
array([ nan,  nan,  nan])

为什么需要分配给变量才能使用np.fill()?我是否缺少更好的选择?

关注者
0
被浏览
246
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    np.fill就地修改数组,然后返回None。因此,如果您将结果分配给一个名称,则它的值为None

    一种替代方法是使用返回的表达式nan,例如:

    a = np.empty(3) * np.nan
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看