使用concatentate()方法连接numpy数组
我想把numpy数组连接在一起。
我遇到的错误是:ValueError: 0维数组无法连接。
代码如下:
n = len(names)
#print names
print n
pairs = concatenate(array([[(j,i) for j in xrange(i)] for i in xrange(1,n)]))
我不知道该怎么解决这个问题。如果有人能帮我就太好了。
谢谢,
M
2 个回答
0
让我们看看你想要连接的内容:
>>> a = np.array([[(j,i) for j in xrange(i)] for i in xrange(1,n)])
>>> a
array([[(0, 1)], [(0, 2), (1, 2)]], dtype=object)
>>> a.shape
(2,)
>>> a[0]
[(0, 1)]
>>> a[1]
[(0, 2), (1, 2)]
你已经有一个数据类型为 object
的 numpy 数组。如果这正是你想要的(我对此表示怀疑),那就直接去掉 concatenate
。否则,你到底想要实现什么呢?
1
我不知道你想要做什么。所以看看这是不是你想要的结果。如果不是,请留言告诉我你想要的结果是什么。
>>> n = 5
>>> a = array([[(j,i) for j in xrange(i)] for i in xrange(1,n)])
>>> a
array([
[(0, 1)],
[(0, 2), (1, 2)],
[(0, 3), (1, 3), (2, 3)],
[(0, 4), (1, 4), (2, 4), (3, 4)]
], dtype=object)
>>> import itertools
>>> it = itertools.chain(*a)
>>> list(it)
[array([0, 1]),
array([0, 2]),
array([1, 2]),
array([0, 3]),
array([1, 3]),
array([2, 3]),
array([0, 4]),
array([1, 4]),
array([2, 4]),
array([3, 4])]