我想连接numpy数组。 我得到的错误是:ValueError:0-d数组不能连接
代码如下:
n = len(names)
#print names
print n
pairs = concatenate(array([[(j,i) for j in xrange(i)] for i in xrange(1,n)]))
我现在还没有解决这个问题。如果有人可以帮助我,我会很棒。
干杯, 中号
答案 0 :(得分: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])]
答案 1 :(得分: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
dtype的numpy数组。如果这是你真正想要的(我怀疑),只需删除concatenate
。否则,你实际上想要达到的是什么。