为什么官方更喜欢在Numpy中使用concantane而不是hstack / vstack?

时间:2017-06-09 03:49:33

标签: numpy

我发现有关hstack / vstack的最新文档请注意“您应该更喜欢np.concatenatenp.stack”。

但我认为他们的可读性优于concatenate(a, 0)concatenate(a, 1)

1 个答案:

答案 0 :(得分:3)

所有3'堆栈'函数使用concatenatenp.appendcolumn_stack也一样)。查看他们的代码很有启发性。例如np.source(np.hstack)

他们所做的就是按下输入数组的尺寸,确保它们是1d或2d等,然后使用适当的concatenate调用axis。因此,从长远来看,了解如何在没有“拐杖”的情况下使用concatenate是一个好主意。其他人。

但是人们会在方便的地方继续使用hstackvstackdstackcolumn_stack不太常见。 np.append经常被误用,应该被放逐。

我认为这是首选'添加np.stack时添加了注释。 np.stack也使用concatenate,但方式更为复杂。它插入一个新轴(expand_dims)。我将其视为np.array的概括。给定匹配数组列表时,np.array将它们连接到新的初始轴上。 np.stack与默认设置相同,但我们会指定一个不同的新版本。连接轴。

我应该限定我的答案。这不是官方的。相反,我会根据对代码的了解做出有根据的猜测。