如何在 NumPy 中声明和填充数组?

han*_*ski 4 python arrays numpy

我需要在 Python 中创建一个空数组并用循环方法填充它。

data1 = np.array([ra,dec,[]])

这是我所拥有的。ra 和 dec 部分来自我导入的另一个数组。我遇到的问题是填充其他列。例子。假设要填写第 3 列,我这样做:

for i in range (0,56):
    data1[i,3] = 32
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

IndexError:上述代码示例中第二行的索引无效。

此外,当我检查我创建的数组的形状时,它会在(3,). 我已经输入的数据是两列,有 56 行数据。

那么我在哪里搞砸了?我应该转置数组吗?

dei*_*aur 6

你可以这样做:

data1 = np.zeros((56,4))
Run Code Online (Sandbox Code Playgroud)

得到一个 56 x 4 的数组。如果你不喜欢下手的数组0,你可以使用np.onesnp.emptynp.ones((56, 4)) * np.nan

然后,在大多数情况下,如果出于性能原因不需要,最好不要使用 python-loop。因此,作为示例,这将执行您的循环:

data[:, 3] = 32
Run Code Online (Sandbox Code Playgroud)