当前位置: 首页 > 面试题库 >

初始化一个numpy数组

弘浩博
2023-03-14
问题内容

有没有办法初始化形状的numpy数组并将其添加到其中?我将通过列表示例解释我需要的内容。如果要创建循环中生成的对象列表,可以执行以下操作:

a = []
for i in range(5):
    a.append(i)

我想对一个numpy数组做类似的事情。我了解vstack,串联等。但是,这些似乎需要两个numpy数组作为输入。我需要的是:

big_array # Initially empty. This is where I don't know what to specify
for i in range(5):
    array i of shape = (2,4) created.
    add to big_array

big_array应具有的形状(10,4)。这该怎么做?

编辑:

我想添加以下说明。我知道我可以定义big_array = numpy.zeros((10,4))然后填充它。但是,这需要预先指定big_array的大小。我知道这种情况下的大小,但是如果我不知道该怎么办?当我们使用该.append函数在python中扩展列表时,我们不需要事先知道其最终大小。我想知道是否存在类似的东西,可以从较小的数组(从空数组开始)创建较大的数组。


问题答案:

numpy.zeros

返回给定形状和类型的新数组,并用零填充。

要么

numpy.ones

返回给定形状和类型的新数组,并填充为1。

要么

numpy.empty

返回给定形状和类型的新数组,而无需初始化条目。

但是,通过将元素追加到列表来构造数组的思路在numpy中使用不多,因为它效率较低(numpy数据类型更接近底层C数组)。相反,您应该将数组预分配为所需的大小,然后填写行。不过,您可以numpy.append根据需要使用。



 类似资料:
  • 我需要初始化具有相同形状的多个Numpy数组。想知道哪种方式是最好的: 为每个人写一行: 或者有更好的方法?

  • 问题内容: 我希望能够“快速”构建一个numpy数组,但我不知道该数组的大小。 例如,我想做这样的事情: 这将导致包含x的所有元素,这显然是一个简单的答案。我很好奇这是否可能? 问题答案: 构建一个Python列表并将其转换为Numpy数组。每个附加项需要O(1)的摊销时间+ O( n )才能转换为数组,总共需要O( n )。

  • 初始化一个给定行数和列数,及值的二维数组。 使用 Array.map() 生成 h 行,其中每个行都是一个长度为 w 的新数组。 如果未提供值 val ,则默认为 null。 const initialize2DArray = (w, h, val = null) => Array.from({ length: h }).map(() => Array.from({ length: w }).

  • 我找不到任何描述如何做到这一点的内容,这让我相信我没有以正确的惯用Python方式来做这件事。关于“正确的”Python方法的建议也将不胜感激。 我为正在编写的数据记录器提供了一系列变量(任意记录长度,具有已知的最大长度)。在MATLAB中,我将它们全部初始化为长度为n的一维零数组,n大于我所看到的条目数,在日志循环中分配每个单独的元素,并在测量结束时修剪多余的零。初始化过程如下所示: 有没有一种

  • 据我所知,在Java11中,这两个操作可以在一行中完成,不是吗?

  • 本文向大家介绍Python Numpy 数组的初始化和基本操作,包括了Python Numpy 数组的初始化和基本操作的使用技巧和注意事项,需要的朋友参考一下 Python 是一种高级的,动态的,多泛型的编程语言。Python代码很多时候看起来就像是伪代码一样,因此你可以使用很少的几行可读性很高的代码来实现一个非常强大的想法。 一.基础: Numpy的主要数据类型是ndarray,即多维数组。它有