来自 Matlab/Octave 的背景,我一直在尝试学习 numpy。一直困扰我的一件事是向量和多维数组之间的区别。对于这个问题,我将给出一个我遇到的具体问题,但如果有人还可以解释 numpy 中一维数组背后的更一般的图片,我将非常感激,为什么你首先想要它们,如何避免混合单维和多维数组等时出现麻烦。无论如何,问题是:
我有一个名为 X 的二维数组:
X = numpy.arange(10).reshape(2,5)
我想取 X 的最后一列并将其存储为另一个名为 Y 的二维数组(即列向量)。我能够为此提供的唯一方法是:
Y = numpy.atleast_2d(X[:,4]).T
但我不喜欢这样有几个原因:
当 X[:,4] 中应该隐含方向时,我觉得我不应该告诉它转置向量。
在代码中反复使用 atleast_2D 似乎很麻烦,这种情况会出现很多。感觉就像我做错了什么。
那么,简而言之,有没有更好的方法?
谢谢。