A = np.array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10,11,12]])
B = A[:, np.newaxis]
print(B)
print(B.shape)
输出是
[[[ 1 2 3]]
[[ 4 5 6]]
[[ 7 8 9]]
[[10 11 12]]]
(4L, 1L, 3L)
我有两个问题:
- 为什么括号外多了一个括号,比如
[[ 1 2 3]],为什么不是[ 1 2 3]? 1L是什么意思?在我看来B是一个 4X3 矩阵,那为什么不是(4L, 3L)?
请您参考如下方法:
引用numpy引用文档(http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html), 选择元组中的每个 newaxis 对象用于将结果选择的维度扩展一个单位长度维度。添加的维度是 newaxis 对象在选择元组中的位置。
- 这里,每个括号代表一个维度,额外的括号是由newaxis引起的。
- 1L表示增加了newaxis的维度。
