繁体   English   中英

Python Numpy在数组索引处添加一个数组

[英]Python Numpy add an array at array index

我正在尝试一些可能非常简单或不可能的事情。

我想在特定索引处将一个numpy数组添加到另一个numpy数组。

a = np.zeros(shape=(17, 1, 2))

for i in range(10):
  b = [i]
  c = [1,2,3,4]
  b.append(c)

  # Here I want to add b in a at specific index but it's not working
  # np.append(a[i][0][0], b)

最后,我想要这样的东西:

a = [[[[0, [1,2,3,4]], ....]]]

谢谢

您的例子不是很清楚,也没有说出实际出了什么问题。 例如,您在循环中不执行任何操作。 另外,您正在尝试混合使用列表和数组。 不过,我想我知道您的意思/需求。 您可以对列表使用插入和追加,如下例所示:

a = []
for i in range(10):
  b = [i]
  c = [1,2,3,4]
  b.insert(1,c)
  a.append( b )
print a

更新资料

使用list.insert(index,obj)在特定索引处插入对象。

如果以下条件与您的要求不符,那么您确实必须更加具体,亲爱的OP。

我承认numpy是一个功能强大的库,但是您要求它初始化零,将这些零初始化为int然后要添加到list 您不能期望构造函数在创建时就知道它需要为object类型数据分配空间。 您想要的是帮助numpy ndarray构造函数进行类型推断。

a = np.zeros(shape=(17, 1, 2), dtype=object)
for i in range(10):
  b = [i]
  c = [1,2,3,4]
  b.append(c)
  a[i] = b
a
#array([[[0, [1, 2, 3, 4]]],
#
#  [[1, [1, 2, 3, 4]]],
#
#  [[2, [1, 2, 3, 4]]],
#
#  [[3, [1, 2, 3, 4]]],
#
#  [[4, [1, 2, 3, 4]]],

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

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

#  [[7, [1, 2, 3, 4]]],

#  [[8, [1, 2, 3, 4]]],

#  [[9, [1, 2, 3, 4]]],

#  [[0, 0]],

#  [[0, 0]],

#  [[0, 0]],

#  [[0, 0]],

#  [[0, 0]],

#  [[0, 0]],

#  [[0, 0]]], dtype=object)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM