订阅
纠错
加入自媒体

Python矩阵和Numpy数组有什么联系?

四、矩阵运算

两个矩阵相加,两个矩阵相乘以及一个矩阵转置。在编写这些程序之前,使用了嵌套列表。让看看如何使用NumPy数组完成相同的任务。

两种矩阵的加法

使用+运算符将两个NumPy矩阵的对应元素相加。

import numpy as np
A = np.array([[2, 4], [5, -6]])B = np.array([[9, -3], [3, 6]])C = A + B      # 元素聪明的加法print(C)

两个矩阵相乘

为了将两个矩阵相乘,使用dot()方法。

注意:用于数组乘法(两个数组的对应元素的乘法),而不是矩阵乘法。

import numpy as np
A = np.array([[3, 6, 7], [5, -3, 0]])B = np.array([[1, 1], [2, 1], [3, -3]])C = A.dot(B)print(C)

矩阵转置

使用numpy.transpose计算矩阵的转置。

import numpy as np
A = np.array([[1, 1], [2, 1], [3, -3]])print(A.transpose())

注:

NumPy使的任务更加轻松。

五、案例

1. 访问矩阵元素

与列表类似,可以使用索引访问矩阵元素。让从一维NumPy数组开始。

import numpy as npA = np.array([2, 4, 6, 8, 10])
print("A[0] =", A[0])     # First element     print("A[2] =", A[2])     # Third element print("A[-1] =", A[-1])   # Last element

运行该程序时,输出为:

现在,让看看如何访问二维数组(基本上是矩阵)的元素。

import numpy as np
A = np.array([[1, 4, 5, 12],    [-5, 8, 9, 0],    [-6, 7, 11, 19]])
#  First element of first rowprint("A[0][0] =", A[0][0])  
# Third element of second rowprint("A[1][2] =", A[1][2])
# Last element of last rowprint("A[-1][-1] =", A[-1][-1])

当运行程序时,输出将是:

2. 访问矩阵的行
import numpy as np
A = np.array([[1, 4, 5, 12],     [-5, 8, 9, 0],    [-6, 7, 11, 19]])
print("A[0] =", A[0]) # First Rowprint("A[2] =", A[2]) # Third Rowprint("A[-1] =", A[-1]) # Last Row (3rd row in this case)

当运行程序时,输出将是:

3. 访问矩阵的列
import numpy as np
A = np.array([[1, 4, 5, 12],     [-5, 8, 9, 0],    [-6, 7, 11, 19]])
print("A[:,0] =",A[:,0]) # First Columnprint("A[:,3] =", A[:,3]) # Fourth Columnprint("A[:,-1] =", A[:,-1]) # Last Column (4th column in this case)

当运行程序时,输出将是:

注:

使用NumPy(而不是嵌套列表)可以更轻松地处理矩阵,而且甚至都没有涉及基础知识。建议详细研究NumPy软件包,尤其是当尝试将Python用于数据科学/分析时。

六、总结

本文基于Python基础,介绍了矩阵和NumPy数组,重点介绍了NumPy数组,如何去安装NumPy模块,如何去创建一个NumPy数组的两种方式。

通过案例的分析,代码的演示,运行效果图的展示,使用Python语言,能够让读者更好的理解。

读者可以根据文章内容,自己实现。有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

代码很简单,希望对你学习有帮助。


<上一页  1  2  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

人工智能 猎头职位 更多
扫码关注公众号
OFweek人工智能网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号