Numpy第一课
1 import numpy as np 2 a = np.array([1,2,3]) 3 print(a) 4 # [1 2 3] 5 6 a2 = np.array([[1, 2], [3, 4]]) 7 print('a2', a2) 8 # a2 [[1 2] [3 4]] 9 10 a3 = np.array([1, 2, 3, 4, 5], ndmin=2) 11 print(a3) 12 # [[1 2 3 4 5]] 13 14 a4 = np.array([1, 2, 3], dtype=complex) 15 print(a4) 16 # [1 3] 17 18 x = np.array([(1,2),(3,4)],dtype=[('a','<i4'),('b','<i4')]) 19 print(x['a']) 20 # [1.+0.j 2.+0.j 3.+0.j] 21 22 a5 = np.array(np.mat('1 "a"; 3 4')) 23 print(a5) 24 # [['1' 'a'] 25 # ['3' '4']] 26 a6 = np.array(np.mat('1 2; 3 4'), subok=True) 27 print(a6) 28 # [[1 2] 29 # [3 4]] 30 31 a7 = np.arange(24) 32 # 现在调整其大小 33 b = a7.reshape(2, 4, 3) # 里面n个元素便是n维,第一个元素a代表a组n-1维,以此类推 34 print(b) # b 现在拥有三个维度 35 # [[[ 0 1 2] 36 # [ 3 4 5] 37 # [ 6 7 8] 38 # [ 9 10 11]] 39 # 40 # [[12 13 14] 41 # [15 16 17] 42 # [18 19 20] 43 # [21 22 23]]] 44 45 x = np.array([1,2,3,4,5]) 46 print(x.flags) 47 # C_CONTIGUOUS : True 48 # F_CONTIGUOUS : True 49 # OWNDATA : True 50 # WRITEABLE : True 51 # ALIGNED : True 52 # WRITEBACKIFCOPY : False 53 # UPDATEIFCOPY : False 54 55 print(x.itemsize) 56 # 4
numpy.flags
ndarray
对象拥有以下属性。这个函数返回了它们的当前值。
序号 | 属性及描述 |
---|---|
1. | C_CONTIGUOUS (C) 数组位于单一的、C 风格的连续区段内 |
2. | F_CONTIGUOUS (F) 数组位于单一的、Fortran 风格的连续区段内 |
3. | OWNDATA (O) 数组的内存从其它对象处借用 |
4. | WRITEABLE (W) 数据区域可写入。 将它设置为flase 会锁定数据,使其只读 |
5. | ALIGNED (A) 数据和任何元素会为硬件适当对齐 |
6. | UPDATEIFCOPY (U) 这个数组是另一数组的副本。当这个数组释放时,源数组会由这个数组中的元素更新 |