Python numpy生成矩阵基础用法实例代码
作者:想要学撩妹 发布时间:2023-01-03 04:21:05
1、numpy.array() 可以把列表转换为矩阵
numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None)
value = [[1, 2, 3], [1, 2, 3]]
print(value)
x = np.array(value)
print(x)
[[1, 2, 3], [1, 2, 3]]
[[1 2 3]
[1 2 3]]
2、numpy.arange() 生成一个向量
可设置三个参数,第一个为开始,第二个为结束,最后一个为步长,可省略开始与步长,默认从0开始,取值范围左闭右开
numpy.arange([start, ]stop, [step, ]dtype=None, *, like=None)
中括号的意思表示这个参数可以省略
x = np.arange(12)
print(x)
y = np.arange(10, 12)
print(y)
z = np.arange(10, 12, 2)
print(z)
[ 0 1 2 3 4 5 6 7 8 9 10 11]
[10 11]
[10]
3、numpy.ones() 生成一个全是1的矩阵, 里面填入矩阵范围
numpy.ones(shape, dtype=None, order='C', *, like=None)
x = np.ones((3, 4))
print(x)
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
这里提一嘴输出里有点是因为dtype属性默认为float,如果改成int就会没有,下面的函数同理
z = np.ones((3, 4), dtype=int)
print(z)
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
4、numpy.zeros() 生成一个全是0的矩阵, 里面填入矩阵范围
numpy.zeros(shape, dtype=float, order='C', *, like=None)
x = np.zeros((3, 4))
print(x)
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
5、numpy.eye() 可填入两个参数分别代表行和列,也可只填一个参数,即为方阵
numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C', *, like=None)
x = np.eye(3)
print(x)
y = np.eye(3, 4)
print(y)
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]]
6、numpy.empty() 返回一个没有经过初始化的一个矩阵
numpy.empty(shape, dtype=float, order='C', *, like=None)
x = np.empty((3, 4))
print(x)
[[6.23042070e-307 2.22523004e-307 1.24610994e-306 1.60219035e-306]
[1.24611674e-306 2.22522597e-306 1.33511969e-306 1.39071021e-307]
[1.78018403e-306 1.78018403e-306 8.34426464e-308 2.22522596e-306]]
7、numpy.linspace 返回在指定的范围内确定个数的等间距的一组数的向量
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
可以看到默认是50个
X = numpy.linspace(1, 10, 10)
print(X)
x = numpy.linspace(1, 50)
print(x)
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.]
更多的方法以及详细内容可以移步Routines — NumPy v1.23.dev0 Manual
补充:矩阵的逆矩阵
若两个矩阵A / B满足: AB = BA = E (E为单位矩阵). 则称A与B互为逆矩阵.
单位矩阵E: 主对角线为1, 其他元素都为0.
矩阵求逆的API:
mi = m.I
mi = np.linalg.inv(m)
矩阵求逆时, 若把方阵推广到非方阵, 则称为矩阵的广义逆矩阵.
案例: 求斐波那契数列
x 1 1 1 1 1 1
1 0 1 0 1 0
----------------------------------
1 1 2 1 3 2 5 3
1 0 1 1 2 1 3 2 ...
m = np.mat('1 1; 1 0')
for i in range(1, 30):
print((m**i)[0,1], end=' ')
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946
17711 28657 46368 75025 121393 196418 317811 514229
来源:https://blog.csdn.net/m0_60476648/article/details/122538383


猜你喜欢
- 代码如下:SELECT [StartDate] FROM [dbo].[udf_Week](2012,2012) WHERE [
- 1、监听视频滑动给 swiper 增加 @change="change",这个时间在我们完成一次滑动后执行,在 meth
- 我的数据库和报表服务的版本如下:数据库:SQL Server 2008 R2报表服务:SQL Server 2008 R2 Reportin
- 框架概念框架和web服务器关系·静态资源:不是经常变化的资源、往往是固定不变的资源·动态资源:经常变化的资源·模板文件:提供了一个显示的模板
- Microsoft Access 数据库 (.mdb) 文件大小2 G 字节。不
- 使用的类库pip install openpyxl操作实现•工作簿操作# coding: utf-8from openpyxl import
- 模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中。此类中的大部分函数都与对文件的操作方法类似。例:#coding=gb
- 1、问题描述在项目开发中,当我们通过npm run build打包之后将文件放在服务器上时通常会出现图片失效问题,控制台中提示某个图片没有找
- Python 做为一个脚本语言,可以很方便地写各种工具。当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件
- import java.io.BufferedReader;import java.io.File;import java.io.FileI
- (1)应用于客户需要与不同的数据源进行交互时。数据可能来自不同的数据库,他们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进
- 游戏介绍先看看界面这是一个拼图游戏,可以自选难度和自选闯关图片游戏开始后根据不同难度,生成与所选主图 对应的 不同张数的 随机顺序的小图,然
- 本文主要概括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等操作技巧。1.挂起操
- vscode使用chatGPT一、下载chatPGT在拓展中找到chatGPT,我这里下载的是中文版二、使用1.使用快捷键 ctrl+shi
- 首先:如果备份的数据库有两个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MD
- 一、使用MySql进行持久化存储在任何应用中,都需要持久化存储。一般有 3 种基础的存储机制:文件、数据库系统以及一些混合类型。这种混合类型
- 如下所示:self.findChild(QComboBox, "name") self is classfirst pa
- 如果我们的语句为:IF NOT EXISTS(SELECT 1 FROM sys.views WHERE name='Report_
- 背景小程序在网络层提供的API是能够完成一个程序与服务端交互的完整链路,但需要大量的定制化代码,才能实现请求拦截和响应拦截,不太符合大多数开
- 联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是k