Python numpy数组,numpy定义二维数组

  Python numpy数组,numpy定义二维数组

  上一篇文章讲了numpy如何构建多维数组之后,今天我们就来学习numpy多维数组的用法。

  加减运算要求运算两边的维数信息一致,M*N为数组,运算才能正确进行。

  a=np.arange(4)

  输出:

  数组([0,1,2,3])

  b=a**2

  输出:

  数组([0,1,4,9])

  c=10*np.sin(a)

  输出:

  数组([ 0。 8.41470985, 9.09297427, 1.41120008])

  n 35

  输出:

  数组([真,真,真,真],dtype=bool)

  A=np.array([[1,1],[0,1]])

  B=np.array([[2,0],[3,4]])

  C=A * B #元素点乘

  输出:

  数组([[2,0],

  [0, 4]])

  D=A .点(B) #矩阵乘法

  输出:

  数组([[5,4],

  [3, 4]])

  E=np.dot(A,B) #矩阵乘法

  输出:

  数组([[5,4],

  [3, 4]])

  多维数组操作过程中的类型转换

  当操作不同类型的数组时,结果数组的类型对应于更通用或更精确的类型(一种称为向上转换的行为)

  也就是说,当操作不同类型的多维数组时,结果会自动转换为更精确的结果。

  高类型的数组,即upcasting

  


  

a = np.ones((2,3),dtype=int) # int32  b = np.random.random((2,3)) # float64  b += a # 正确  a += b # 错误  
a = np.ones(3,dtype=np.int32)  b = np.linspace(0,pi,3)  c = a + b  d = np.exp(c*1j)  输出:  array([ 0.54030231+0.84147098j, -0.84147098+0.54030231j,   -0.54030231-0.84147098j])  d.dtype.name  输出:   'complex128'  


  

多维数组的一元操作,如求和、求最小值、值等

  


  

a = np.random.random((2,3))  a.sum()  a.min()  a.max()  b = np.arange(12).reshape(3,4)  输出:  array([[ 0, 1, 2, 3],   [ 4, 5, 6, 7],   [ 8, 9, 10, 11]])  b.sum(axis=0) # 按列求和  输出:  array([12, 15, 18, 21])  b.sum(axis=1) # 按行求和  输出:  array([ 6, 22, 38])  b.cumsum(axis=0) # 按列进行元素累加  输出:  array([[ 0, 1, 2, 3],   [ 4, 6, 8, 10],   [12, 15, 18, 21]])  b.cumsum(axis=1) # 按行进行元素累加  输出:  array([[ 0, 1, 3, 6],   [ 4, 9, 15, 22],   [ 8, 17, 27, 38]])  universal functions  B = np.arange(3)  np.exp(B)  np.sqrt(B)  C = np.array([2.,-1.,4.])  np.add(B,C)  


  

其他的ufunc函数包括:

  

all, any, apply_along_axis, argmax, argmin, argsort, average, bincount, ceil, clip, conj, corrcoef, cov, cross, cumprod, cumsum, diff, dot, floor,inner, lexsort, max, maximum, mean, median, min, minimum, nonzero, outer, prod, re, round, sort, std, sum, trace, transpose, var,vdot, vectorize, where

  

以上就是Python中numpy多维数组的用法。更多Python学习推荐:PyThon学习网教学中心

  

(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: