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) 这个数组是另一数组的副本。当这个数组释放时,源数组会由这个数组中的元素更新
posted @ 2018-11-09 14:48  浅尝辄止易初心不改难  Views(142)  Comments(0Edit  收藏  举报