python数组和矩阵的用法解读

Python数组和矩阵的用法解读

Python中,数组和矩阵是常用的数据类型。本文将从定义、创建、修改、访问和操作等几个方面,对数组和矩阵的用法进行详细讲解。

定义

数组和矩阵是由相同类型元素构成的多维数据结构。

数组

在Python中,数组通常指的是Numpy中的array。其定义方式如下:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])

此处创建了一个包含5个元素的一维数组arr。

矩阵

在Python中,矩阵通常指的是Numpy中的matrix。其定义方式如下:

import numpy as np
mat = np.matrix([[1, 2], [3, 4]])

此处创建了一个2x2的矩阵mat。

创建

数组

要创建一个空数组,可以使用Numpy中的empty函数:

import numpy as np
arr = np.empty([2, 3])

此处创建了一个2x3的空数组arr。

当然,还可以使用zeros和ones函数分别创建全是0和全是1的数组:

import numpy as np
zeros_arr = np.zeros([2,3])
ones_arr = np.ones([2,3])

矩阵

要创建一个空矩阵,可以使用Numpy中的empty函数,只需要指定shape即可:

import numpy as np
mat = np.empty([2, 3])

此处创建了一个2x3的空矩阵mat。

当然,还可以使用zeros和ones函数分别创建全是0和全是1的矩阵:

import numpy as np
zeros_mat = np.zeros([2,3])
ones_mat = np.ones([2,3])

访问

数组

要访问数组中的元素,可以简单地使用下标:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr[0]) # 输出1

矩阵

要访问矩阵中的元素,需要指定行和列的下标:

import numpy as np
mat = np.matrix([[1, 2], [3, 4]])
print(mat[0, 0]) # 输出1

修改

数组

要修改数组中的元素,也可以使用下标:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
arr[0] = 0
print(arr) # 输出[0, 2, 3, 4, 5]

矩阵

要修改矩阵中的元素,同样需要指定行和列的下标:

import numpy as np
mat = np.matrix([[1, 2], [3, 4]])
mat[0, 0] = 0
print(mat) # 输出[[0, 2], [3, 4]]

操作

数组

数组的基本操作包括加、减、乘、除等:

import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 数组相加
c = a + b
print(c) # 输出[5, 7, 9]

# 数组相减
c = a - b
print(c) # 输出[-3, -3, -3]

# 数组相乘
c = a * b
print(c) # 输出[4, 10, 18]

# 数组相除
c = a / b
print(c) # 输出[0.25, 0.4, 0.5]

矩阵

矩阵的基本操作包括加、减、乘、除等:

import numpy as np
a = np.matrix([[1, 2], [3, 4]])
b = np.matrix([[5, 6], [7, 8]])

# 矩阵相加
c = a + b
print(c) # 输出[[6, 8], [10, 12]]

# 矩阵相减
c = a - b
print(c) # 输出[[-4, -4], [-4, -4]]

# 矩阵相乘
c = a * b
print(c) # 输出[[19, 22], [43, 50]]

# 矩阵相除
c = a / b # 这里除法是按照矩阵乘法的逆矩阵来进行的运算,因此返回结果并不是矩阵的真正除法
print(c) # 输出[[1.66666667, 2.33333333], [3.85714286, 5.14285714]]

示例

示例1:求两个矩阵的点积

import numpy as np

a = np.random.randint(0, 10, [2,2])
#[[1 9]
# [8 2]]

b = np.random.randint(0, 10, [2,2])
#[[6 8]
# [3 7]]

res = np.dot(a, b)
# a.dot(b) 或者 np.matmul(a, b)也可以

#[[33 71]
# [54 74]]

print(res)

示例2:将矩阵沿轴旋转

import numpy as np

x = np.zeros((3, 4))
y = np.rot90(x)

print(x.shape) # 输出(3, 4)
print(y.shape) # 输出(4, 3)

在这个示例中,我们创建了一个3x4的矩阵x,并使用np.rot90函数将其沿轴旋转。最终我们得到了一个4x3的矩阵y。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python数组和矩阵的用法解读 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • Python dataframe如何设置index

    设置DataFrame的索引可以让我们更方便地对数据进行切片操作和快速查找。在Python中,Pandas库提供了多种方法来设置DataFrame的索引。下面我将详细讲解Python DataFrame如何设置Index,包括以下内容: 1.使用DataFrame中的一列作为索引2.使用set_index函数设置索引3.使用reindex函数更新索引4.使用…

    python 2023年6月3日
    00
  • python的函数形参和返回值你了解吗

    Python的函数是一种可重用的代码块,用于执行特定的任务,例如计算或打印输出。 函数包含输入参数(即形参)和输出(即返回值)。形参是函数定义中声明的参数,用于在调用函数时传递给函数的值。返回值是函数中执行的结果或计算,用于在调用函数后返回给调用方。 形参的使用可以让函数更加灵活和通用,而函数返回值则可以将计算结果或执行的工作返回给调用方,使得调用方可以对结…

    python 2023年5月14日
    00
  • 在Python中使用NumPy生成Hermite_e多项式的伪Vandermonde矩阵

    生成Hermite_e多项式的伪Vandermonde矩阵需要使用NumPy的ploy.hermite_e函数。具体步骤如下: 导入NumPy库和ploy.hermite_e函数 import numpy as np from numpy.polynomial.hermite_e import hermite_e 定义生成伪Vandermonde矩阵的函数 …

    python-answer 2023年3月25日
    00
  • Python 排序函数(sorted)使用方法

    sorted() 是 Python 内置函数之一,用于对可迭代对象进行排序操作。它会返回一个新的已排序的列表,而不会修改原来的对象。 sorted() 函数的语法如下: sorted(iterable, *, key=None, reverse=False) 参数解释: iterable: 需要进行排序的可迭代对象,比如列表、元组、集合等。 key: 一个可…

    2023年2月19日
    00
  • Python图像处理之gif动态图的解析与合成操作详解

    Python图像处理之gif动态图的解析与合成操作详解 在Python中,我们可以使用Pillow库来操作图像的处理和合成,包括gif动态图的解析和合成。 1. 解析gif动态图 我们可以使用Pillow库中的ImageSequence模块来解析gif动态图,并且可以很方便地获取每一帧的图像数据。以下是使用Python解析gif动态图的示例代码: from …

    python 2023年5月19日
    00
  • 详解Python 使用 selenium 进行自动化测试或者协助日常工作

    详解Python使用Selenium进行自动化测试或者协助日常工作 什么是Selenium Selenium 是一个用于浏览器自动化的工具。它支持多种浏览器,包括但不限于 Chrome、Firefox 和 Safari。它可以用于自动化测试,网站自动化,以及协助日常工作任务等。 如何安装和配置 Selenium 在使用 Selenium 之前,需要安装 Se…

    python 2023年5月19日
    00
  • Python实现二分法算法实例

    下面是关于“Python实现二分法算法实例”的完整攻略。 1. 二分法算法概述 二分法算法是一种高效的查找算法,它的基本思想是将数据集合分成两分,然后递归地在其中一部分查找目元素。在Python中,我们可以使用二分法算法来查找有序数组中的元素。 2. 二分法算法实现 下面使用Python实现二分法算的代码: def binary_search(arr, ta…

    python 2023年5月13日
    00
  • Python强化练习之Tensorflow2 opp算法实现月球登陆器

    Python强化练习之Tensorflow2opp算法实现月球登陆器 本文将介绍如何使用Tensorflow 2.0实现opp算法来控制月球登陆器的着陆。我们将介绍opp算法的原理实现步骤,并提供两个示例,分别演示如何使用Python实现简单和复杂的月球着陆控制。 opp法原理 opp算法是一种基于模型预测控制(MPC)的控制法。该算法通过预测未来状态来计算…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部