Numpy 为什么在努比,官方更喜欢康康坦而不是hstack/vstack?

Numpy 为什么在努比,官方更喜欢康康坦而不是hstack/vstack?,numpy,Numpy,我发现关于hstack/vstack的最新文档中提到“您应该更喜欢np.concatenate或np.stack” 但我认为它们的可读性比concatenate(a,0)或concatenate(a,1)所有3个“stack”函数都使用concatenate(就像np.append和column\u stack一样)。看看他们的代码很有启发性np.source(np.hstack)例如 它们所做的都是调整输入数组的尺寸,确保它们是1d或2d等,然后使用适当的轴调用连接。因此,从长远来看,知道如何

我发现关于
hstack
/
vstack
的最新文档中提到“您应该更喜欢
np.concatenate
np.stack


但我认为它们的可读性比
concatenate(a,0)
concatenate(a,1)
所有3个“stack”函数都使用
concatenate
(就像
np.append
column\u stack
一样)。看看他们的代码很有启发性<代码>np.source(np.hstack)例如

它们所做的都是调整输入数组的尺寸,确保它们是1d或2d等,然后使用适当的
轴调用
连接
。因此,从长远来看,知道如何使用
串联
,而不需要其他人的“拐杖”,这是一个好主意

但人们将继续在方便的地方使用
hstack
vstack
<代码>数据堆栈
列堆栈
不太常见
np.append
经常被误用,应该被禁止使用

我认为这个“首选”注释是在添加
np.stack
时添加的
np.stack
也使用
串联
,但使用的方式更为复杂。它插入一个新的轴(带有
展开_dims
)。我把它看作是
np.array
的推广。当给定匹配数组的列表时,
np.array
将它们连接到一个新的初始轴上
np.stack
的作用与默认值相同,但允许我们为串联指定不同的“新”轴

我应该限定我的答案。这不是官方的。更确切地说,我是在基于代码知识做出有根据的猜测