Python numpy生成矩阵基础用法实例代码

目录
  • 1、numpy.array() 可以把列表转换为矩阵
  • 2、numpy.arange() 生成一个向量
  • 3、numpy.ones() 生成一个全是1的矩阵, 里面填入矩阵范围
  • 4、numpy.zeros() 生成一个全是0的矩阵, 里面填入矩阵范围
  • 5、numpy.eye()  可填入两个参数分别代表行和列,也可只填一个参数,即为方阵
  • 6、numpy.empty() 返回一个没有经过初始化的一个矩阵
  • 7、numpy.linspace  返回在指定的范围内确定个数的等间距的一组数的向量
  • 补充:矩阵的逆矩阵
  • 总结

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

总结

到此这篇关于Python numpy生成矩阵基础用法的文章就介绍到这了,更多相关Python numpy生成矩阵内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python numpy 提取矩阵的某一行或某一列的实例

    如下所示: import numpy as np a=np.arange(9).reshape(3,3) a Out[31]: array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) 矩阵的某一行 a[1] Out[32]: array([3, 4, 5]) 矩阵的某一列 a[:,1] Out[33]: array([1, 4, 7]) b=np.eye(3,3) b Out[36]: array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0.,

  • Python 使用Numpy对矩阵进行转置的方法

    如下所示: matrix.py #!/usr/bin/python # -*- encoding:UTF-8-*- import pprint import numpy as np matrix = [[1,2],[3,4],[5,6]] print('列表:') pprint.pprint(matrix) matrix_2 = np.matrix(matrix) print('原矩阵:') pprint.pprint(matrix_2) matrix_transpose = np.transp

  • Python numpy中矩阵的基本用法汇总

    Python矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素,虽然他们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的matrix与MATLAB中matrices等价. 直接看一个例子: import numpy as np a = np.mat('1 3;5 7')

  • Python创建对称矩阵的方法示例【基于numpy模块】

    本文实例讲述了Python创建对称矩阵的方法.分享给大家供大家参考,具体如下: 对称(实对称)矩阵也即: step 1:创建一个方阵 >>> import numpy as np >>> X = np.random.rand(5**2).reshape(5, 5) >>> X array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708], [ 0.31837673, 0.354

  • python中numpy的矩阵、多维数组的用法

    1. 引言 最近在将一个算法由matlab转成python,初学python,很多地方还不熟悉,总体感觉就是上手容易,实际上很优雅地用python还是蛮难的.目前为止,觉得就算法仿真研究而言,还是matlab用得特别舒服,可能是比较熟悉的缘故吧.matlab直接集成了很多算法工具箱,函数查询.调用.变量查询等非常方便,或许以后用久了python也会感觉很好用.与python相比,最喜欢的莫过于可以直接选中某段代码执行了,操作方便,python也可以实现,就是感觉不是很方便. 言归正传,做算法要用

  • Python中的Numpy矩阵操作

    Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相关的包. NumPy 是一个非常优秀的提供矩阵操作的包.NumPy的主要目标,就是提供多维数组,从而实现矩阵操作. NumPy's main object is the homogeneous multidimensional array. It is a table of elements (usually numbers), all of the sa

  • Python numpy生成矩阵基础用法实例代码

    目录 1.numpy.array() 可以把列表转换为矩阵 2.numpy.arange() 生成一个向量 3.numpy.ones() 生成一个全是1的矩阵, 里面填入矩阵范围 4.numpy.zeros() 生成一个全是0的矩阵, 里面填入矩阵范围 5.numpy.eye()  可填入两个参数分别代表行和列,也可只填一个参数,即为方阵 6.numpy.empty() 返回一个没有经过初始化的一个矩阵 7.numpy.linspace  返回在指定的范围内确定个数的等间距的一组数的向量 补充:

  • Python numpy生成矩阵、串联矩阵代码分享

    import numpy 生成numpy矩阵的几个相关函数: numpy.array() numpy.zeros() numpy.ones() numpy.eye() 串联生成numpy矩阵的几个相关函数: numpy.array() numpy.row_stack() numpy.column_stack() numpy.reshape() >>> import numpy >>> numpy.eye(3) array([[ 1., 0., 0.], [ 0., 1.

  • Python 序列化和反序列化库 MarshMallow 的用法实例代码

    序列化(Serialization)与反序列化(Deserialization)是RESTful API 开发中绕不开的一环,开发时,序列化与反序列化的功能实现中通常也会包含数据校验(Validation)相关的业务逻辑. Marshmallow 是一个强大的轮子,很好的实现了 object -> dict , objects -> list, string -> dict和 string -> list. Marshmallow is an ORM/ODM/framework-a

  • Python numpy实现数组合并实例(vstack,hstack)

    若干个数组可以沿不同的轴合合并到一起,vstack,hstack的简单用法, >>> a = np.floor(10*np.random.random((2,2))) >>> a array([[ 8., 8.], [ 0., 0.]]) >>> b = np.floor(10*np.random.random((2,2))) >>> b array([[ 1., 8.], [ 0., 4.]]) >>> np.vs

  • Python多层装饰器用法实例分析

    本文实例讲述了Python多层装饰器用法.分享给大家供大家参考,具体如下: 前言 Python 的装饰器能够在不破坏函数原本结构的基础上,对函数的功能进行补充.当我们需要对一个函数补充不同的功能,可能需要用到多层的装饰器.在我的使用过程中,遇到了两种装饰器层叠的情况,这里把这两种情况写下来,作为踩坑记录. 情况1 def A(funC): def decorated_C(funE): def decorated_E_by_CA(*args, **kwargs): out = funC(funE)

  • Python Numpy库常见用法入门教程

    本文实例讲述了Python Numpy库常见用法.分享给大家供大家参考,具体如下: 1.简介 Numpy是一个常用的Python科学技术库,通过它可以快速对数组进行操作,包括形状操作.排序.选择.输入输出.离散傅立叶变换.基本线性代数,基本统计运算和随机模拟等.许多Python库和科学计算的软件包都使用Numpy数组作为操作对象,或者将传入的Python数组转化为Numpy数组,因此在Python中操作数据离不开Numpy. Numpy的核心是ndarray对象,由Python的n维数组封装而来

  • Python 自动化表单提交实例代码

    今天以一个表单的自动提交,来进一步学习selenium的用法 练习目标 0)运用selenium启动firefox并载入指定页面(这部分可查看本人文章 http://www.cnblogs.com/liu2008hz/p/6958126.html) 1)页面元素查找(多种查找方式:find_element_*) 2)内容填充(send_keys) 3)iframe与父页面切换(switch_to_frame是切换到iframe,switch_to_default_content是切换到主页面)

  • Python绘制3d螺旋曲线图实例代码

    Line plots Axes3D.plot(xs, ys, *args, **kwargs) 绘制2D或3D数据 参数 描述 xs, ys X轴,Y轴坐标定点 zs Z值,每一个点的值都是1 zdir 绘制2D集合时使用z的方向 其他的参数:plot() Python代码: import matplotlib as mpl from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as

  • python+matplotlib实现礼盒柱状图实例代码

    演示结果: 完整代码: import matplotlib.pyplot as plt import numpy as np from matplotlib.image import BboxImage from matplotlib._png import read_png import matplotlib.colors from matplotlib.cbook import get_sample_data class RibbonBox(object): original_image =

  • python+matplotlib绘制3D条形图实例代码

    本文分享的实例主要实现的是Python+matplotlib绘制一个有阴影和没有阴影的3D条形图,具体如下. 首先看看演示效果: 完整代码如下: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # setup the figure and axes fig = plt.figure(figsize=(8, 3)) ax1 = fig.add_subplot(121

随机推荐