猿问

Numpy 连接,使用 * 或类似的

我有一个 numpy 数组列表。像这样的东西(这不是同一个例子,而是相似的)


lst = [np.array([ 1,2,3,4,5,6 ]).reshape(-1, 1), np.array([ 1,2,3,4,5,6 ]).reshape(-1, 1), np.array([ 1,2,3,4,5,6 ]).reshape(-1, 1)]


在这种情况下,我lst有 3 个 numpy 数组,它们的形状是 (6,1),现在我想将它连接起来,如下所示:


# array([[1, 1, 1],

#        [2, 2, 2],

#        [3, 3, 3],

#        [4, 4, 4],

#        [5, 5, 5],

#        [6, 6, 6]])

这完美地做到了这一点......


example = np.c_[lst[0], lst[1], lst[2]]


但我的 lst 并不总是相同的大小,所以我尝试了这个。


example = np.c_[*lst]

但它不起作用。有没有办法以这种方式连接整个列表?


暮色呼如
浏览 71回答 1
1回答

慕森王

您可以使用column_stack功能:import numpy as nplst = [np.array([1, 2, 3, 4, 5, 6]).reshape(-1, 1), np.array([1, 2, 3, 4, 5, 6]).reshape(-1, 1), np.array([1, 2, 3, 4, 5, 6]).reshape(-1, 1)]example = np.column_stack(lst)print(example)[[1 1 1] [2 2 2] [3 3 3] [4 4 4] [5 5 5] [6 6 6]]
随时随地看视频慕课网APP

相关分类

Python
我要回答