在NumPy中,我知道我们可以在Python解释器中以下列方式通过布尔值索引ndarray
:
>>> 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]
然后我尝试了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]])
修改
使用此功能,我可以使用它从一级数组中获取矢量吗?如下所示:
>>> 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]]
我不得不说,这很难理解,但这比reshape
方法更好吗?