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]]
  • 一元函数

       

      

a = 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 Code
  •  二元函数

       

b = 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))
View Code

 

 

 

posted @ 2021-02-01 20:16  MMMMinoz  阅读(65)  评论(0编辑  收藏  举报