我发现有关hstack
/ vstack
的最新文档请注意“您应该更喜欢np.concatenate
或np.stack
”。
但我认为他们的可读性优于concatenate(a, 0)
或concatenate(a, 1)
答案 0 :(得分:3)
所有3'堆栈'函数使用concatenate
(np.append
和column_stack
也一样)。查看他们的代码很有启发性。例如np.source(np.hstack)
。
他们所做的就是按下输入数组的尺寸,确保它们是1d或2d等,然后使用适当的concatenate
调用axis
。因此,从长远来看,了解如何在没有“拐杖”的情况下使用concatenate
是一个好主意。其他人。
但是人们会在方便的地方继续使用hstack
和vstack
。 dstack
和column_stack
不太常见。 np.append
经常被误用,应该被放逐。
我认为这是首选'添加np.stack
时添加了注释。 np.stack
也使用concatenate
,但方式更为复杂。它插入一个新轴(expand_dims
)。我将其视为np.array
的概括。给定匹配数组列表时,np.array
将它们连接到新的初始轴上。 np.stack
与默认设置相同,但我们会指定一个不同的新版本。连接轴。
我应该限定我的答案。这不是官方的。相反,我会根据对代码的了解做出有根据的猜测。