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

标签 python arrays numpy multidimensional-array initialization

我想初始化并填充一个 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() 的结果可以正常工作:

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

为什么我需要分配给一个变量才能使用 np.fill()?我错过了更好的选择吗?

最佳答案

你也可以试试:

In [79]: np.full(3, np.nan)
Out[79]: array([ nan,  nan,  nan])

相关文档:

Definition: np.full(shape, fill_value, dtype=None, order='C')
Docstring:
Return a new array of given shape and type, filled with `fill_value`.

虽然我认为这可能仅在 numpy 1.8+ 中可用

关于python - 初始化和填充 numpy 数组的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22414152/

相关文章:

javascript - 将表转换为数组

java - 对象数组内的对象数组

python - numpy 的正交投影

python - 在 numpy 数组中查找连续的零

python - 限制Python文件读写

python - 如何关闭在 Pillow 中打开的图像?

python - 查找二维列表中最长子列表的索引

javascript - 如何访问多维数组数据?

python - 如何使我的 pylab.poly1d(fit) 通过零?

python - 执行命令后 SSH session 不返回 o/p