跳至正文
View Categories

< 1 min read

主要内容 #

  1. 了解numpy的几种基本运算。
  2. 掌握numpy的索引。

1. Numpy的基本运算 #

Numpy的属性array,也就是矩阵,可以进行矩阵间的加、减、乘、乘方等运算。
下面我们举个例子来进行展示。

import numpy as np
a=np.array([10,20,30,40])
b=np.arange(4)

上述代码中的 a 和 b 是两个属性为 array 也就是矩阵的变量,而且二者都是1行4列的矩阵, 其中b矩阵中的元素分别是从0到3。 如果我们想要求两个矩阵之间的减法,你可以尝试着输入:

c=a-b

通过执行上述脚本,将会得到对应元素相减的结果,即[10,19,28,37]。 同理,矩阵对应元素的相加和相乘也可以用类似的方式表示:

c=a+b
d=a*b
print(c)
print(d)

在Numpy中,想要求出矩阵中各个元素的乘方需要依赖双星符号 **,以二次方举例,即:

c=b**2
print(c)

2. Numpy的基本运算2 #

Numpy运算除基本的加、减、乘、乘方外,还有一些基本运算,如argmin()、argmax()、mean、cumsum等

  • (1)argmin和argmax

我们举一个例子:

import numpy as np
A = np.arange(2,14).reshape((3,4)) 
print(np.argmin(A))    # 0
print(np.argmax(A))    # 11

其中的 argmin() 和 argmax() 两个函数分别对应着求矩阵中最小元素和最大元素的索引。

  • (2)计算均值和中位数
#平均值
print(np.mean(A))        # 7.5<br />
print(np.average(A))     # 7.5

  • (3)累加函数cumsum()

在cumsum()函数中:生成的每一项矩阵元素均是从原矩阵首项累加到对应项的元素之和。

print(np.cumsum(A))

3. Numpy索引 #

    • (1)一维索引

我们都知道,在元素列表或者数组中,我们可以用如同a[2]一样的表示方法,同样的,在Numpy中也有相对应的表示方法:

import numpy as np
A = np.arange(3,15)
print(A[3])    # 6

可以将矩阵转换为二维的:

A = np.arange(3,15).reshape((3,4))      
print(A[2])         
# [11 12 13 14]

A[2]对应的就是矩阵A中第三行(从0开始算第一行)的所有元素。

    • (2)二维索引

如果你想要表示具体的单个元素,可以仿照上述的例子:

print(A[1][1])

此时对应的元素即A[1][1],在A中即横纵坐标都为1,第二行第二列的元素,即8(因为计数从0开始)。同样的还有其他的表示方法:

print(A[1,1])#8

在Python的 list 中,我们可以利用:对一定范围内的元素进行切片操作,在Numpy中我们依然可以给出相应的方法:

print(A[1, 1:3])

3. 小结 #

      • 熟悉并掌握numpy的几种基础运算
      • 熟悉并掌握numpy的索引的使用

习题 #