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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。