Skip to main content
 首页 » 编程设计

python之创建二维 numpy 数组的快速方法是什么

2025年05月04日15lyhabc

我正在创建这个数组:

>>> np.array([[0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25],[30,31,32,33,34,35],[40,41,42,43,44,45],[50,51,52,53,54,55]]) 
 
array([[ 0,  1,  2,  3,  4,  5], 
       [10, 11, 12, 13, 14, 15], 
       [20, 21, 22, 23, 24, 25], 
       [30, 31, 32, 33, 34, 35], 
       [40, 41, 42, 43, 44, 45], 
       [50, 51, 52, 53, 54, 55]]) 

我正在输入所有元素

请您参考如下方法:

嗯,如果你不介意使用辅助列表,你总是可以使用列表理解:

>>> np.array([list(range(i, i + 6)) for i in range(0, 55, 10)]) 
array([[ 0,  1,  2,  3,  4,  5], 
       [10, 11, 12, 13, 14, 15], 
       [20, 21, 22, 23, 24, 25], 
       [30, 31, 32, 33, 34, 35], 
       [40, 41, 42, 43, 44, 45], 
       [50, 51, 52, 53, 54, 55]]) 

下面是使用广播的 numpy 方式:

>>> np.arange(0, 51, 10).reshape(-1, 1) + np.arange(6) 
array([[ 0,  1,  2,  3,  4,  5], 
       [10, 11, 12, 13, 14, 15], 
       [20, 21, 22, 23, 24, 25], 
       [30, 31, 32, 33, 34, 35], 
       [40, 41, 42, 43, 44, 45], 
       [50, 51, 52, 53, 54, 55]]) 

这种方法,尤其是对于较大的示例,会更快并且需要更少的辅助存储。