numpy是python中一个用来做科学计算的包,用起来十分方便,下面是我总结的numpy的用法:

1.如何创建矩阵

创建矩阵有很多种方法,主要包括以下几种:

通过array函数创建

 >>> import numpy as np
>>> A=np.array([2,3,4])           #生成一维矩阵
array([2, 3, 4])
>>> B=np.array([[1,2,3],[2,3,4]])     #生成二维矩阵
>>> B
array([[1, 2, 3],
[2, 3, 4]])
>>> C=np.array([(1,2,3),(2,3,4)])     #生成二维矩阵
>>> C
array([[1, 2, 3],
[2, 3, 4]])
>>> B==C              #B矩阵和C矩阵的比较
array([[ True, True, True],
[ True, True, True]])
>>> D=np.array([1,2,3],dtype=complex) #生成二维矩阵,指定数据类型为复数
>>> D
array([1.+0.j, 2.+0.j, 3.+0.j])

numpy还可以根据矩阵的大小来创建,分别使用zeros、ones、emptys、eye、arange、linspace、random等函数,可通过dtype指定元素类型,默认类型是float64。

>>> np.zeros((3,4))                         #3行4列的零矩阵
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
>>> np.zeros(2)                     #一维零矩阵
array([0., 0.])
>>> np.ones((2,3),dtype=np.int16) #数据元素全为1的二维矩阵
array([[1, 1, 1],
[1, 1, 1]], dtype=int16)
>>> np.empty((2,3)) #随机矩阵,数据元素根据内存而定
array([[7.55396208e-300, 7.55396213e-300, 7.55396213e-300],
[7.55396213e-300, 0.00000000e+000, 0.00000000e+000]])
>>> np.eye(3)                   #单位矩阵
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
>>> np.arange(10,30,5)              #生成从10到30(不包括30)的等差数列,相邻元素相差为5
array([10, 15, 20, 25])
>>> np.linspace(10,30,5) #生成从10到30的等差数列,元素个数为5
array([10., 15., 20., 25., 30.])
>>> np.random.random((2,3))             #生成二维随机矩阵
array([[0.74394874, 0.85545826, 0.44662612],
[0.76655115, 0.98968437, 0.7954072 ]])

>>> A=(1,2,3)
>>> B=np.array(A)             #生成和一维数组A相对应的矩阵
>>> B
array([1, 2, 3])
>>> A=((1,3,2),(1,2))
>>> A
((1, 3, 2), (1, 2))
>>> B=np.array(A)             #生成和二维数组A相对应的矩阵
>>> B
array([(1, 3, 2), (1, 2)], dtype=object)

2.一个矩阵的属性

>>> import numpy as np
>>> A=((1,2,3),(1,2,3))
>>> B=np.array(A)
>>> B
array([[1, 2, 3],
[1, 2, 3]])
>>> B.ndim        #矩阵B的维度数
2
>>> B.shape #矩阵B的大小
(2, 3)
>>> B.size #矩阵B的总元素数
6
>>> B.dtype #矩阵B中的元素类型
dtype('int32')
>>> B.itemsize #矩阵B的元素大小
4
>>> B.data #矩阵B的实际元素的缓冲区
<memory at 0x000000000C09C2D0>
>>> C=np.array(A,dtype=float)
>>> C
array([[1., 2., 3.],
[1., 2., 3.]])
>>> C.dtype #矩阵C的元素类型
dtype('float64')
>>> C.itemsize #矩阵C的元素大小
8
>>> C.data   #矩阵C的实际元素的缓冲区
<memory at 0x000000000C09C2D0>

参考文献:https://docs.scipy.org/doc/numpy/user/quickstart.html

 

本人水平有限,可能会出现一些错误,欢迎指正

python科学计算包numpy用法(一)的更多相关文章

  1. Linux下Python科学计算包numpy和SciPy的安装

      系统环境: OS:RedHat5 Python版本:Python2.7.3 gcc版本:4.1.2 各个安装包版本: scipy-0.11.0 numpy-1.6.2 nose-1.2.1 lap ...

  2. 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题

    动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...

  3. Python科学计算库Numpy

    Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...

  4. Python下科学计算包numpy和SciPy的安装

    转载自:http://blog.sina.com.cn/s/blog_62dfdc740101aoo6.html Python下大多数工具包的安装都很简单,只需要执行 “python setup.py ...

  5. Python下科学计算包numpy和SciPy的安装【原创】

    Python下大多数工具包的安装都很简单,只需要执行 "python setup.py install"命令即可.然而,由于SciPy和numpy这两个科学计算包的依赖关系较多,安 ...

  6. Python科学计算包模块的安装(ubuntu)

    Python的科学计算包设计到C语言代码的编译,采用pip的方式安装会出现错误. 一种简单的方式是采用的集成包,具体的步骤参考:https://www.continuum.io/downloads#_ ...

  7. python科学计算之numpy

    1.np.logspace(start,stop,num): 函数表示的意思是;在(start,stop)间生成等比数列num个 eg: import numpy as np print np.log ...

  8. python科学计算模块NumPy

    NumPy是Numerical Python的简称,是高性能科学计算和数据分析的基础包.其实NumPy 本身并并没有提供太多的高级的数据分析功能, 但是理解NumPy数组以及面向数组的计算将有利于你更 ...

  9. 科学计算包Numpy

    Numpy 用于科学计算的python模块,提供了Python中没有的数组对象,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换以及随机数生成等功能,并可与C++.FO ...

随机推荐

  1. 运动控制之一_PID控制理论

    PID算法是早期发展起来的控制算法,该算法因其简单.鲁棒性强且可靠性高而被广泛地应用于过程控制和运动控制中. 常规的PID控制系统原理框图如下所示: PID控制系统原理图 误差信号Err(t)输入到控 ...

  2. linux shell必知必会sed、awk

    sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往 ...

  3. Linux报错之ping: www.baidu.com: Name or service not known

    Linux报错之ping: www.baidu.com: Name or service not known 出现这个以后,首先去ping下主机Ip,发现能ping通,但是出现另一个问题Destina ...

  4. 2018上C语言程序设计(初级)作业- 第2次作业

    一.预习作业 在课前或者课后观看浙江大学程序设计入门-C语言课程中第2周.第3周的判断部分和第4周的判断部分. 二.PTA作业 完成第7周.第8周和第9周和第10周共8次pta作业,将PTA作业中部分 ...

  5. MVCC(Multi-version Cocurrent Control)多版本并发控制协议

    MVCC相比2PC是一种更简单有效的分布式事务解决方案. 假设一种场景,一个分布式事务在A,B两个节点更新数据,要么同时成功,要么同时失败. MVCC 中,为每个事务分配一个递增的事务编号,有一个中心 ...

  6. CF867E: Buy Low Sell High(贪心, STL) (hdu6438)

    Description 有nn个城市,第ii个城市商品价格为aiai​,从11城市出发依次经过这nn个城市到达n n城市,在每个城市可以把手头商品出售也可以至多买一个商品,问最大收益. Input 第 ...

  7. JVM垃圾收集器-Serial Old收集器,Parallel Old收集器

    Serial Old收集器 Serial Old收集器是Serial收集器的老年代版本,它是一个单线程收集器,使用“标记-整理”算法.这个收集器的主要意义也是被Client模式下的虚拟机使用.在ser ...

  8. spring查看生成的cglib代理类源码详解

    1.让程序阻塞(抛出异常会导致程序结束,所以在抛出异常之前阻塞) 2. windows控制台 cd到jdk目录下的lib目录,找到sa-jdi.jar 执行: java -classpath sa-j ...

  9. AX3298添加新sensor

    这是编译的工程目录. 1,先把sensor对应的驱动比如GC1034.c添加到工程.然后编译成库.会在res目录下生产sensor.bin文件 流程:编译后在debug目录生成 elf 文件AX329 ...

  10. 20164301 Exp4 恶意代码分析

    Exp4 恶意代码分析 实验目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行.  2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinte ...