Python基础教程:NumPy ndarray常见的操作

对于多维矩阵,可以进行变形、加减乘除等操作,本节就来介绍常见的相关操作。

1、变形reshape(维度列表)

例如原来是 3×4 的矩阵,可以将其变成 6×2 的矩阵。内容不变,但是样子发生了改变。方法如下:

  >>> x = np.arange(1, 7)                    # 一维矩阵  >>> x  array([1, 2, 3, 4, 5, 6])  >>> y = x.reshape(2, 3)                    # 变成2行3列的二维矩阵  >>> y  array([[1, 2, 3],        [4, 5, 6]])

2、加减乘除操作

加法操作是指对外形相同的两个矩阵,进行相同位置元素的加法运算,得到一个和输入矩阵相同外形的矩阵。下面的代码便演示了加法操作的使用:

  >>> a = numpy.random.rand(3,2)            # a是3行2列的随机二维矩阵  >>> b = numpy.random.rand(3,2)            # b是3行2列的随机二维矩阵  >>> a                                    # 查看a的值  array([[0.49219148, 0.30470874],         [0.42371119, 0.96857757],         [0.09432051, 0.55935613]])  >>> b                                    # 查看b的值     array([[0.41471195, 0.85316671],         [0.6231908 , 0.98244841],         [0.65246256, 0.73501929]])  >>> a+b                                    # a+b的值  array([[0.90690343, 1.15787545],         [1.04690199, 1.95102597],         [0.74678307, 1.29437542]])

与之类似的还有减法、乘法和除法操作,其运算符号和普通的数值运算符号相同,都是对相同的位置进行操作。下面的例子是减法操作的使用:

  >>> a = numpy.random.rand(3,2)            # 随机生成3x2的矩阵  >>> b = numpy.random.rand(3,2)            # 随机生成3x2的矩阵  >>> a                                    # 查看矩阵a的内容  array([[0.49219148, 0.30470874],         [0.42371119, 0.96857757],         [0.09432051, 0.55935613]])  >>> b                                    # 查看矩阵b的内容  array([[0.41471195, 0.85316671],         [0.6231908 , 0.98244841],         [0.65246256, 0.73501929]])  >>> a-b                                    # 减法操作  array([[ 0.07747953, -0.54845797],         [-0.19947961, -0.01387084],         [-0.55814205, -0.17566316]])

下面的例子是乘法操作的使用:

  >>> a = numpy.random.rand(3,2)            # 随机生成3x2的矩阵  >>> b = numpy.random.rand(3,2)            # 随机生成3x2的矩阵  >>> a                                    # 查看矩阵a的内容  array([[0.49219148, 0.30470874],         [0.42371119, 0.96857757],         [0.09432051, 0.55935613]])  >>> b                                    # 查看矩阵b的内容  array([[0.41471195, 0.85316671],         [0.6231908 , 0.98244841],         [0.65246256, 0.73501929]])  >>> a * b                                # 乘法操作  array([[0.20411769, 0.25996735],         [0.26405291, 0.95157749],         [0.0615406 , 0.41113754]])

下面是除法操作运算的例子:

  >>> a = numpy.random.rand(3,2)            # 随机生成3x2的矩阵  >>> b = numpy.random.rand(3,2)            # 随机生成3x2的矩阵  >>> a                                    # 查看矩阵a的内容  array([[0.49219148, 0.30470874],         [0.42371119, 0.96857757],         [0.09432051, 0.55935613]])  >>> b                                    # 查看矩阵b的内容  array([[0.41471195, 0.85316671],         [0.6231908 , 0.98244841],         [0.65246256, 0.73501929]])  >>> a / b                                # 除法操作  array([[1.18682735, 0.3571503 ],         [0.67990604, 0.98588135],         [0.1445608 , 0.76100877]])

3、逻辑判断

还可以对矩阵进行逻辑判断,例如判断矩阵元素是否大于 0 或者小于 1。其结果是一个矩阵,分别表示各元素是否满足规定的判断。例如下面就是判断矩阵元素是否小于 0.5 的操作:

  >>> a = np.random.rand(3,2)                # 随机生成3x2的矩阵  >>> a                                    # 查看矩阵a的内容  array([[0.36826283, 0.1993915 ],         [0.3278179 , 0.66236192],         [0.98973706, 0.67244684]])  >>> a < 0.5                                # 各个元素是否小于0.5  array([[ True,  True],         [ True, False],         [False, False]])

当然也可以和其他矩阵进行比较,例如下面的例子:

  >>> a = numpy.random.rand(3,2)            # 随机生成3x2的矩阵  >>> b = numpy.random.rand(3,2)            # 随机生成3x2的矩阵  >>> a                                    # 查看矩阵a的内容  array([[0.49219148, 0.30470874],         [0.42371119, 0.96857757],         [0.09432051, 0.55935613]])  >>> b                                    # 查看矩阵b的内容  array([[0.41471195, 0.85316671],         [0.6231908 , 0.98244841],         [0.65246256, 0.73501929]])  >>> a < b                                # a的各个元素是否小于b对应的元素  array([[False,  True],         [ True,  True],         [ True,  True]])

以上就是Python基础教程:NumPy ndarray常见的操作相关内容,想了解更多python基础教程关注计算机技术网(www.ctvol.com)!)。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/pythontutorial/589102.html

(0)
上一篇 2021年4月23日
下一篇 2021年4月23日

精彩推荐