【python语言学习】(一)向量、矩阵和数组

1.0简介

  • 向量(vector)
  • 矩阵(matrice)
  • 张量(tensor)
  • 行(row)
  • 列(column)

1.1创建一个向量

import numpy as np
vector_row = np.array([1, 2, 3])
vector_column = np.array([[1], [2], [3]])

1.2创建一个矩阵

(●’◡’●)通过二维数组来创建一个矩阵

三行两列👇

import numpy as np
matrix = np.array([[1, 2], [1, 2], [1, 2]])

NumPy提供了专门的数据结构来表示矩阵,但不推荐使用矩阵数据结构

  • 实际上数组才是NumPy的标准数据结构
  • 绝大多数NumPy操作返回的是数组而不是矩阵对象

1.3创建一个稀疏矩阵

(●’◡’●)表示只有零星非零值的数据

  • 稀疏矩阵只保存非零元素并假设剩余元素的值都是零,节省大量的计算成本
  • 稀疏行(CSR)
  • 下标的编号从0开始
  • Scipy
#加载库
import numpy as np
from scipy import sparse
#创建一个矩阵
matrix = np.array([[0, 0],
                  [0, 1],
                  [3, 0]])
#创建一个压缩的稀疏行(Compressed Sparse Row,CSR)矩阵
matrix_sparse = sparse.csr_matrix(matrix)

1.4选择元素

(●’◡’●)在向量或矩阵中选择一个或多个元素

#加载库
import numpy as np
vector = np.array([1, 2, 3, 4, 5, 6])
# 创建矩阵
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])
# 选择向量的第三个元素
print(vector[2])
print(matrix[1, 1])
#选取一个向量的所有元素
print(vector[:])
#选取从1开始一直到第3个(包括第3个)元素
print(vector[:3])
#选取第3个元素之后的所有元素
print(vector[3:])
#选取最后1个元素
print(vector[-1])
#选取矩阵的第1行和第2行以及所有列
print(matrix[:2,:])
print('--------')
#选取所有行以及第二列     【注意】
print(matrix[:,1:2])

1.5展示一个矩阵的属性

(●’◡’●)展示一个矩阵的形状、大小和维数

import numpy as np
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9],
                   [7, 8, 9]])
# 查看行数和列数                  
print(matrix.shape)       
# 查看元素的数量(行数*列数)
print(matrix.size)  
# 查看维数
print(matrix.ndim)         
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python中有很多库可以用来进行矩阵数组运算,其中比较常用的有numpy和scipy。 numpy是Python中用于进行科学计算的一个核心库,它提供了多维数组对象和一系列函数,可以用来进行向量矩阵运算。下面是一些常见的numpy数组运算: 1. 创建数组:使用numpy.array()函数可以创建一个numpy数组,可以使用列表或元组作为参数。 ```python import numpy as np a = np.array([1, 2, 3]) # 一维数组 b = np.array([[1, 2, 3], [4, 5, 6]]) # 二维数组 c = np.array([1, 2, 3], dtype=complex) # 复数数组 ``` 2. 数组运算:可以对numpy数组进行加、减、乘、除等运算。 ```python import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) c = a + b # 数组相加 d = a - b # 数组相减 e = a * b # 数组相乘 f = a / b # 数组相除 ``` 3. 矩阵运算:使用numpy.dot()函数可以进行矩阵乘法运算。 ```python import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) c = np.dot(a, b) # 矩阵乘法运算 ``` scipy是一个Python库,用于科学计算和技术计算。它提供了许多高级的数学函数和算法,包括线性代数、傅里叶变换、优化等。下面是一些常见的scipy运算: 1. 矩阵求逆:使用scipy.linalg.inv()函数可以求一个矩阵的逆矩阵。 ```python import numpy as np from scipy import linalg a = np.array([[1, 2], [3, 4]]) b = linalg.inv(a) # 求逆矩阵 ``` 2. 矩阵行列式:使用scipy.linalg.det()函数可以求一个矩阵的行列式。 ```python import numpy as np from scipy import linalg a = np.array([[1, 2], [3, 4]]) b = linalg.det(a) # 求行列式 ``` 3. 矩阵特征值和特征向量:使用scipy.linalg.eig()函数可以求一个矩阵的特征值和特征向量。 ```python import numpy as np from scipy import linalg a = np.array([[1, 2], [3, 4]]) b, c = linalg.eig(a) # 求特征值和特征向量 ``` 以上就是Python中常见的矩阵数组运算方法,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

司六米希

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值