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方法更好吗?