1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| In [16]: a[2: 4] # 切片操作类似与Python中list的切片操作 Out[16]: array([2, 3]) In [18]: a[2 : 5: 2] # 切片步长为2 Out[18]: array([2, 4]) In [19]: a[ : : -1] # 翻转数组 Out[19]: array([4, 3, 2, 1, 0]) In [20]: b = arange(24).reshape(2, 3, 4) # 修改数组的维度 In [21]: b.shape Out[21]: (2, 3, 4) In [22]: b # 打印数组 Out[22]: array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]]) In [23]: b[1, 2, 3] # 选取特定元素 Out[23]: 23 In [24]: b[ : , 0, 0] # 忽略某个下标可以用冒号代替 Out[24]: array([ 0, 12]) In [23]: b[1, 2, 3] Out[23]: 23 In [24]: b[ : , 0, 0] # 忽略多个下标可以使用省略号代替 Out[24]: array([ 0, 12]) In [26]: b.ravel() # 数组的展平操作 Out[26]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]) In [27]: b.flatten() # 与revel功能相同, 这个函数会请求分配内存来保存结果 Out[27]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]) In [30]: b.shape = (6, 4) # 可以直接对shape属性赋值元组来设置维度 In [31]: b Out[31]: array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]) In [30]: b.shape = (6, 4) # 矩阵的转置 In [31]: b Out[31]: array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]])
|