在NumPy中,如何解释ndarray [True]的回归?

Du *_*Ang 5 python arrays numpy

在NumPy中,我知道我们可以ndarray在Python解释器中以下列方式索引一个布尔值:

>>> import numpy as np
>>> b = np.arange(1, 6)
>>> print(b)
[1 2 3 4 5]
>>> bi = np.array([True, False, True, False, True])
>>> print(b[bi])
[1 3 5]
Run Code Online (Sandbox Code Playgroud)

然后我试了b[True],我无法理解它的回归意味着什么.有人可以向我解释一下吗?谢谢.

>>> print(b)
[1 2 3 4 5]
>>> b[True]
array([[1, 2, 3, 4, 5]])
>>> b[True]
array([[1, 2, 3, 4, 5]])
Run Code Online (Sandbox Code Playgroud)

编辑

有了这个功能,我可以用它从一级数组中获取一个向量吗?如下所示:

>>> b = np.arange(1, 6)
>>> print(b)
[1 2 3 4 5]
>>> row_vec = b[True]
>>> print(row_vec)
[[1 2 3 4 5]]
>>> col_vec = b[True].T
>>> print(col_vec)
[[1]
 [2]
 [3]
 [4]
 [5]]
Run Code Online (Sandbox Code Playgroud)

我不得不说,这很难理解,但这样做比选择reshape方法更好吗?