Skip to main content
 首页 » 编程设计

python之在 Python 中使用新轴

2025年05月04日14cmt

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. 为什么括号外多了一个括号,比如[[ 1 2 3]],为什么不是[ 1 2 3]?
  2. 1L 是什么意思?在我看来 B 是一个 4X3 矩阵,那为什么不是 (4L, 3L)?

请您参考如下方法:

引用numpy引用文档(http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html), 选择元组中的每个 newaxis 对象用于将结果选择的维度扩展一个单位长度维度。添加的维度是 newaxis 对象在选择元组中的位置。

  1. 这里,每个括号代表一个维度,额外的括号是由newaxis引起的。
  2. 1L表示增加了newaxis的维度。