我需要用Python创建一个空数组并用循环方法填充它。
data1 = np.array([ra,dec,[]])
这是我有的。ra和dec部分来自我导入的另一个数组。我遇到的麻烦是把其他栏目都填上。 例子。假设填充第三列,我这样做:
for i in range (0,56):
data1[i,3] = 32
我得到的错误是:
IndexError: invalid index for the second line in the aforementioned code sample.
另外,当我检查我创建的数组的形状时,它将在(3,)
处出现。我已经输入的数据是两列56行的数据。
那我在这搞什么?我应该调换数组吗?
有一点没人提到,在Python中,索引从0开始,而不是从1开始。
这意味着,如果您想查看数组的第三列,实际上应该处理
[:,2]
,而不是[:,3]
。祝你好运!
为您的问题提供一个单行解决方案;但是为了提高效率,最好先分配一个空数组,然后在相关部分中进行复制,这样可以避免构造伪列表。
你可以:
得到56×4的数组。如果不想用
0
启动数组,可以使用np.ones
或np.empty
或np.ones((56, 4)) * np.nan
然后,在大多数情况下,如果出于性能原因不需要,最好不要使用python循环。 作为一个例子,这将完成循环:
相关问题 更多 >
编程相关推荐