【发布时间】:2020-03-28 15:17:03
【问题描述】:
请原谅我缺乏python知识,我还在学习:)
我一直在网上搜索,试图找到答案。我可以找到有关将所有值插入索引位置的信息,但找不到有关在特定点插入奇异项的任何信息。我只想使用numpy.insert
到目前为止,我有这个代码:
import numpy as np
# Initialise 2D Array
a = np.array([[0 for x in range(10)] for y in range(5)])
a = np.insert(a, 0, 1, axis=1)
print(a)
我得到的输出是:
[[1 0 0 0 0 0 0 0 0 0 0]
[1 0 0 0 0 0 0 0 0 0 0]
[1 0 0 0 0 0 0 0 0 0 0]
[1 0 0 0 0 0 0 0 0 0 0]
[1 0 0 0 0 0 0 0 0 0 0]]
我试图实现的输出是:
[[1 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0]]
我知道对于更熟练的程序员来说,这可能是一个相当简单的解决方案。如果这个问题已经在不同的线程中得到回答,请随时使用链接回复。 :)
【问题讨论】:
-
insert生成一个更大的数组。在您的示例中,您从 (5,10) 形状开始,然后返回 (5,11)。那是你真正想要的吗?或者你想要一个 [0,0] 元素为 1 的 (5,10) 吗?np.zeros((5,10), int)是直接numpy创建a的方式。如果您发现np.insert文档令人困惑,您应该尝试这些示例。 -
np.insert仅将新行或新列添加到数组中。它不添加单个元素(并填充该列和/或行的其余部分)。为数组的现有元素分配新值是完全不同的操作。
标签: python arrays numpy multidimensional-array insert