python数组和矩阵的用法解读

yizhihongxing

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日

相关文章

  • 将 LinearSVC 的决策函数转换为概率(Scikit learn python)

    【问题标题】:Converting LinearSVC’s decision function to probabilities (Scikit learn python )将 LinearSVC 的决策函数转换为概率(Scikit learn python) 【发布时间】:2023-04-07 13:40:01 【问题描述】: 我使用来自 scikit l…

    Python开发 2023年4月8日
    00
  • Python爬虫框架NewSpaper使用详解

    Newspaper是一个Python爬虫框架,可以用于抓取新闻和文章。它可以自动识别文章的标题、作者、正文和图片,并提供了一组API,可以用于提取和分析文章的内容。本文将详细讲解如何使用Newspaper爬取新闻和文章,包括安装Newspaper、使用Newspaper抓取新闻和文章、提取和分析文章的内容。 安装Newspaper 在开始使用Newspape…

    python 2023年5月15日
    00
  • python导入库的具体方法

    通过导入内置、第三方或自定义的Python库,我们可以扩展 Python 的功能并让开发更高效。下面是 Python 导入库的具体方法攻略。 1. 导入内置库 Python 内置了许多常用库,例如os、time和re等。导入内置库只需要使用 import 关键字加上库名即可。 示例代码: import os # 使用os模块的方法 os.chdir(‘/pa…

    python 2023年6月2日
    00
  • python copy模块中的函数实例用法

    Python中的copy模块提供了许多函数,用于复制对象。这些函数可帮助您复制可能无法按预期方式进行复制的对象。copy模块中的函数实例包括:copy, deepcopy, error等。 copy函数 copy函数可以浅复制一个对象。当您需要复制一个对象并且不想影响原始对象时,copy函数非常有用。 import copy original_list = …

    python 2023年6月3日
    00
  • Python控制自己的手机摄像头拍照并自动发送到邮箱案例讲解

    为了控制手机摄像头并实现自动发送邮件功能,需要结合Python的第三方库和手机的一些设置操作来完成。 步骤一:安装依赖库首先需要安装Android Platform Tool。下载地址为:https://developer.android.com/studio/releases/platform-tools 同时,需要安装Python的第三方库android…

    python 2023年6月5日
    00
  • Python安装官方whl包和tar.gz包的方法(推荐)

    以下是详细的步骤: Python安装官方whl包和tar.gz包的方法(推荐) 1. 了解whl包和tar.gz包 whl包:Python官方为了方便第三方包的发布和安装,特意制定了一种新的发布包格式,即.whl文件,也叫做“wheel”。.whl文件是一个已经打包好的压缩包,其中包含了模块的所有代码和资源,使用起来很方便。 tar.gz包:.tar.gz …

    python 2023年5月14日
    00
  • 使用Python爬取小姐姐图片(beautifulsoup法)

    下面是使用Python爬取小姐姐图片的完整攻略,过程中包含两条示例说明。 1. 前置知识 在开始之前,我们需要了解一些基本知识: Python编程语言 爬虫的基本原理 Beautiful Soup库的基本用法 如果你对以上内容还不熟悉,可以先去了解一下相关知识。 2. 确定目标网站和页面 首先,我们需要确定一个目标网站和页面,这里我们选择的是一个美女图片网站…

    python 2023年5月14日
    00
  • python 带时区的日期格式化操作

    Python 中的 datetime 模块提供了强大的日期和时间处理功能。其中就包括了时间时区的支持。在处理带时区的日期格式化时,我们可以使用 datetime 模块中的 datetime 类。下面是操作步骤: 1.导入必要的模块 在处理日期和时间时,我们需要导入必要的模块。这里我们需要 datetime 模块和 pytz 模块。其中 pytz 模块提供了全…

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