簡體   English   中英

python使用方法concatenate()連接numpy數組

[英]python concatenate numpy arrays with the method concatenate()

我想串聯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)]))

我現在不解決該問題。 如果有人可以幫助我,我會很棒。

M,干杯

我不知道你想干什么 因此,看看是否是您想要的輸出。 如果不是,請評論您想要的輸出是什么。

>>> 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])]

讓我們看看您要連接的內容:

>>> 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 否則,您實際要實現的目標是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM