Numpy库基础___三
ndarray一个强大的N维数组对象Array
•ndarray的操作
- 索引
a = np.arange(24).reshape((2,3,4)) print(a) #[[[ 0 1 2 3] # [ 4 5 6 7] # [ 8 9 10 11]] # # [[12 13 14 15] # [16 17 18 19] # [20 21 22 23]]] print(a[1,2,3]) #23 print(a[0,1,2]) #6 print(a[-1,-2,-3]) #17
- 切片
a = np.arange(24).reshape((2,3,4)) print(a) #[[[ 0 1 2 3] # [ 4 5 6 7] # [ 8 9 10 11]] # # [[12 13 14 15] # [16 17 18 19] # [20 21 22 23]]] print(a[:,1,-3]) #[5,17] print(a[:,1:3,:])#第二个维度内切片 和list类似 #[[[4,5,6,7] #[8,9,10,11]] # #[[16,17,18,19] #[20,21,22,23]]] print(a[:,:,::2])#和list类似,步长 #[[[0,2][[[ 0 2] # [ 4 6] # [ 8 10]] # # [[12 14] # [16 18] 3 [20 22]]]
•ndarray的运算
- 数组与标量之间的运算作用于数组的所有元素
x = np.arange(24).reshape((2,3,4)) print(a) #[[1 1 1 1] # [1 1 1 1] # [1 1 1 1]] print(a/4) # [[0.25 0.25 0.25 0.25] # [0.25 0.25 0.25 0.25] # [0.25 0.25 0.25 0.25]]
- 一元函数
View Codea = np.arange(1,25).reshape((2,3,4)) print(np.abs(a)) print("-----------------------------") print(np.fabs(a)) print("-----------------------------") print(np.sqrt(a)) print("-----------------------------") print(np.square(a)) print("-----------------------------") print(np.log(a)) print("-----------------------------") print(np.log10(a)) print("-----------------------------") print(np.log2(a)) print("-----------------------------") print(np.ceil(a)) print("-----------------------------") print(np.floor(a)) print("-----------------------------") a,b= np.modf(a) print("整数部分:") print(a) print("小数部分:") print(b)
- 二元函数
View Codeb = np.square(a) print(b) #元素的最大值计算 print(np.maximum(a,b)) print(np.fmax(a,b)) # #元素的最小值计算 print(np.minimum(a,b)) print(np.fmin(a,b)) #元素的模运算 #a中元素对b中元素取模 print(np.mod(a,b)) #b中元素对a中元素取模 print(np.mod(b,a)) # 将数组b中的个元素的符号赋值给数组a对应元素 b = -b print(np.copysign(a,b))