【问题标题】:How to initialize a particular numpy array element value with a set of elements?如何使用一组元素初始化特定的 numpy 数组元素值?
【发布时间】:2019-02-09 11:53:00
【问题描述】:

我有一个代码,我想在其中创建一个 numpy 多维数组,每个元素都是另一个由 3 个行向量元素组成的数组,如下所示:

a1=np.ndarray([4,4])
for i in range(4):
    for j in range(4):
        a1[i,j]=[2,2,2]

现在当我尝试这样做时,我得到一个错误: ValueError: 使用序列设置数组元素。

请告诉我哪里出错了。 基本上,我的目标是像这样创建一个 numpy ndarray(而不是 asarray 或数组): 这只是我想做的一个粗略的例子。

[[1,1,1],[2,2,2],[3,3,3]
[4,4,4],[5,5,5],[6,6,6]
[1,2,3],[4,5,6],[1,2,4]]

【问题讨论】:

  • 在您的rough example 中是否存在逗号和括号是否重要?如果我只计算 [],看起来你想要一个 (9,3) 数组。我也不明白你在ndarrayasarrayarray 之间的区别。一个是类,另外两个是函数。

标签: arrays python-3.x numpy multidimensional-array


【解决方案1】:

每个i, j 位置的三元素向量构成第三维。因此数组的形状应该是[4, 4, 3] - 第三维包含 3 个元素。

a1 = np.ndarray([4, 4, 3])
...

【讨论】:

    【解决方案2】:

    您的最终数组将具有 (4,4,3) 形状。所以你必须预订这个房间:

    a1=np.empty((4,4,3),dtype=int)
    # or np.ndarray((4,4,3),int)
    for i in range(4):
        for j in range(4):
            a1[i,j]=[i,j,i+j] # for exemple
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      • 2017-06-16
      相关资源
      最近更新 更多