欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

numpy的array数据类型

程序员文章站 2022-10-16 17:04:12
1 import numpy as np 2 3 #创建 4 # 创建一维数组 5 a = np.array([1, 2, 3]) 6 print(a) 7 ''' 8 [1 2 3] 9 ''' 10 # 创建多维数组 11 b = np.array([(1, 2, 3), (4, 5, 6)])... ......
  1 import numpy as np
  2 
  3 #创建
  4 # 创建一维数组
  5 a = np.array([1, 2, 3])
  6 print(a)
  7 '''
  8 [1 2 3]
  9 '''
 10 # 创建多维数组
 11 b = np.array([(1, 2, 3), (4, 5, 6)])
 12 print(b)
 13 '''
 14 [[1 2 3]
 15  [4 5 6]]
 16 '''
 17 # 创建等差一维数组
 18 c = np.arange(1, 5, 0.5)
 19 print(c)
 20 '''
 21 [1.  1.5 2.  2.5 3.  3.5 4.  4.5]
 22 '''
 23 # 创建随机数数组
 24 d = np.random.random((2, 2))
 25 print(d)
 26 '''
 27 [[0.65746941 0.09766114]
 28  [0.15024283 0.9212932 ]]
 29  '''
 30 # 创建一个确定起始点和终止点和个数的等差一维数组
 31 ##包含终止点
 32 e = np.linspace(1, 2, 10)
 33 print(e)
 34 '''
 35 [1.         1.11111111 1.22222222 1.33333333 1.44444444 1.55555556 1.66666667 1.77777778 1.88888889 2.        ]
 36  '''
 37 ##不包含终止点
 38 f = np.linspace(1, 2, 10, endpoint=false)
 39 print(f)
 40 '''
 41 [1.  1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9]
 42 '''
 43 #创建一个全为‘1’的 数组
 44 g = np.ones([2,3])
 45 print(g)
 46 '''
 47 [[1. 1. 1.]
 48  [1. 1. 1.]]
 49  '''
 50 #创建一个全为‘0’的数组
 51 h = np.zeros([2,3])
 52 print(h)
 53 '''
 54 [[0. 0. 0.]
 55  [0. 0. 0.]]
 56  '''
 57 #通过函数创建数组
 58 k = np.fromfunction(lambda i,j :(i+1)*(j+1),(9,9))
 59 print(k)
 60 '''
 61 [[ 1.  2.  3.  4.  5.  6.  7.  8.  9.]
 62  [ 2.  4.  6.  8. 10. 12. 14. 16. 18.]
 63  [ 3.  6.  9. 12. 15. 18. 21. 24. 27.]
 64  [ 4.  8. 12. 16. 20. 24. 28. 32. 36.]
 65  [ 5. 10. 15. 20. 25. 30. 35. 40. 45.]
 66  [ 6. 12. 18. 24. 30. 36. 42. 48. 54.]
 67  [ 7. 14. 21. 28. 35. 42. 49. 56. 63.]
 68  [ 8. 16. 24. 32. 40. 48. 56. 64. 72.]
 69  [ 9. 18. 27. 36. 45. 54. 63. 72. 81.]]
 70  '''
 71 ##############
 72 #获取数组的相关属性
 73 a = np.array([(1,2,3),(4,5,6)])
 74 print(a)
 75 ##获取数组的形状
 76 print(a.shape)
 77 '''
 78 (2, 3)
 79 表示:该数组为2行3列
 80 '''
 81 ## 改变数组的形状
 82 b = a.reshape(3,2)
 83 print(b)
 84 '''
 85 [[1 2]
 86  [3 4]
 87  [5 6]]
 88  将a数组的数据由2行3列变成3行2列得到b数组,但是a数组没有发生改变
 89  '''
 90 a.resize(3,2)
 91 print(a)
 92 '''
 93 [[1 2]
 94  [3 4]
 95  [5 6]]
 96  a数组由2行3列变成3行2列,此时,a数组的形状发生了改变
 97  '''
 98 ##############
 99 #数组切片操作
100 a = np.array([(1,2,3),(4,5,6)])
101 print(a)
102 '''
103 [[1 2 3]
104  [4 5 6]]
105  '''
106 ##获取数组的第二行
107 print(a[1])
108 '''
109 [4 5 6]
110 '''
111 ##获取数组的前两行
112 print(a[0:2])
113 '''
114 [[1 2 3]
115  [4 5 6]]
116 '''
117 ##获取数组的前两列的值
118 print(a[:,[0,1]])
119 '''
120 [[1 2]
121  [4 5]]
122  '''
123 ##获取数组的第1行的前两列的值
124 print(a[0,[0,1]])
125 '''
126 [1 2]
127 '''
128 ##遍历数组
129 for row in a:
130     print(row)
131 '''
132 [1 2 3]
133 [4 5 6]
134 '''
135 #######################
136 ##数组拼接
137 a = np.array([1,2,3])
138 b = np.array([4,5,6])
139 #垂直方向的拼接
140 c = np.vstack((a,b))
141 print(c)
142 '''
143 [[1 2 3]
144  [4 5 6]]
145 '''
146 #竖直方向的拼接
147 d = np.hstack((a,b))
148 print(d)
149 '''
150 [1 2 3 4 5 6]
151 '''
152 #####################
153 ##数组的计算
154 a = np.array([1,2,3])
155 b = np.array([4,5,6])
156 #加法
157 c = a+b
158 print(c)
159 '''
160 [5 7 9]
161 '''
162 #减法
163 d= a - b
164 print(d)
165 '''
166 [-3 -3 -3]
167 '''
168 #乘法
169 e = a * b
170 print(e)
171 '''
172 [ 4 10 18]
173 '''
174 #求和
175 f = np.array([(1,2,3),(4,5,6)])
176 print(f.sum())
177 '''
178 21
179 '''
180 #按列求和
181 print(f.sum(axis=0))
182 '''
183 [5 7 9]
184 '''
185 #按行求和
186 print(f.sum(axis=1))
187 '''
188 [ 6 15]
189 '''
190 #最小值的值
191 print(f.min())
192 '''
193 1
194 '''
195 #最小值的索引
196 print(f.argmin())
197 '''
198 0
199 '''
200 #最大值的值
201 print(f.max())
202 '''
203 6
204 '''
205 print(f.argmax())
206 '''
207 5
208 '''
209 #平均值
210 print(f.mean())
211 '''
212 3.5
213 '''
214 #方差
215 print(f.var())
216 '''
217 2.9166666666666665
218 '''
219 #标准差
220 print(f.std())
221 '''
222 1.707825127659933
223 '''
224 #############
225 # 线性代数的运算
226 #矩阵内积
227 np.dot()
228 #行列式
229 np.linalg.det()
230 # 逆矩阵
231 np.linalg.inv()
232 #多元一次方程组求根
233 np.linalg.solve()
234 #求特征值和特征向量
235 np.linalg.eig()