如何在使用固定值初始化numpy数组时进行预填充?我尝试生成list
并将其用作fill
。
>>> c = np.empty(5)
>>> c
array([0.0e+000, 9.9e-324, 1.5e-323, 2.0e-323, 2.5e-323])
>>> np.array(list(range(0,10,1)))
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>>
>>> c.fill(np.array(list(range(0,10,1))))
TypeError: only length-1 arrays can be converted to Python scalars
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: setting an array element with a sequence.
>>> c.fill([np.array(list(range(0,10,1)))])
TypeError: float() argument must be a string or a real number, not 'list'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: setting an array element with a sequence.
字符串
预期-
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
型
2条答案
按热度按时间xriantvc1#
fill
用相同的值填充每个条目。c = np.empty(size); c.fill(5)
分配一个大小为size
的数组,而不初始化任何值,然后用所有的5
填充它。除了AJ Biffl的答案,你也可以通过广播给ndarray赋值:
字符串
这只适用于形状匹配的情况,但它确实可以让你做这样的事情:
型
wz3gfoph2#
第一个月
np.arange(10)
创建从0到9的整数数组np.tile(..., (5,1))
平铺阵列的副本- 5个副本“向下”(新行)和1个“交叉”(每行内1个副本)