[英]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.