Python Numpy 函数库基础

Python的优缺点

虽然Java或C等强类型语言也有矩阵数据库,但即使是简单的操作也需要编写大量的代码才能完成,相比之下Python较为简单、清晰而且易于了解,但Python身为高级编程语言的缺点是性能问题,其程序的运行效率不如Java或者C高,但我们仍能够透过Python调用C编译的代码,同时利用两者的优点。


Numpy函数库

机器学校算法涉及到很多线性代数的知识,故此时可以调用Numpy函数库来协助我们将数据化成矩阵形式。

进入Python Shell:

打开CMD(命令提示单元)输入python后回车即可进入CMD

导入Numpy函数库:

在Python Shell开发环境中输入

>>> from numpy import *

即可导入,此时可以测试一下
输入

>>> random,rand(4,4)

返回

array([[0.87229069, 0.70023991, 0.7521162 , 0.9213054 ],
       [0.02586772, 0.5548208 , 0.28103148, 0.49242565],
       [0.61887028, 0.08988251, 0.51350345, 0.56281089],
       [0.38425784, 0.50601015, 0.89603609, 0.5991036 ]])

上述命令构造了一个4*4的随机数组(每个计算机及每次输入结果皆会变化)
注意:这边是数组形式

Numpy矩阵与数组的区别

Numpy中有两种数据类型(矩阵matrix和数组array),都可以用来处理行列表示的数字元素。虽然看起来很相似,但这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的martix与MATLAB中的matrices等价。


shape()函数:查看矩阵或数组的维度

>>> shape(array)

若矩阵有m行n列则返回(m,n)

>>> array.shape[0]

返回矩阵的行数m,参数为1的话返回列数n

tile()函数:将数组A作为元素构造出m行n列的数组

>>> tile(2,(3,3))

返回

array([[2, 2, 2],
       [2, 2, 2],
       [2, 2, 2]])

mat()函数:将数组转成矩阵

>>> mat(random.rand(4,4))

返回

matrix([[0.65212284, 0.83811254, 0.77794013, 0.08255835],
        [0.87573375, 0.66102126, 0.20329506, 0.28459432],
        [0.84541585, 0.38251998, 0.39339992, 0.64757986],
        [0.95867266, 0.06996467, 0.45438577, 0.16584662]])

上述命令构造了一个4*4的随机矩阵(每个计算机及每次输入结果皆会变化)
注意:这边是矩阵形式

.I操作符:对矩阵求逆矩阵

>>> matrix.I

返回矩阵matrix的逆矩阵

eye()函数:创建单位矩阵

函数eye(4)能创建4*4的单位矩阵

>>> eye(4)

返回

array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])

注意:这边是数组形式,若要用矩阵形式可以配合mat()进行转换

sum(axis)函数:当axis为1则按行累加,当axis为0则是按列累加

>>> i=tile(2,(3,3))
>>> i.sum(axis=1)

返回

array([6, 6, 6])

argsort()函数:得到矩阵中每个元素的排序序号

>>> i=tile(2,(3,3))
>>> i.argsort()

返回

array([[0, 1, 2],
       [0, 1, 2],
       [0, 1, 2]], dtype=int64)

dict.get(key,x)函数:从字典中获取key对应的value,字典中没有key的话返回0

min()函数,max()函数:返回一个数组,数组中的每个数都是他所在行或列的最大值或者最小值

>>> array.min(0)

返回一个数组,数组中每个数都是它所在列的所有数的最小值

>>> array.min(1)

返回一个数组,数组中每个数都是它所在行的所有数的最小值

listdir(‘str’)函数:读取目录底下所有的文件

>>> strlist=listdir('str')

读取目录下所有文件后,返回一个字符串列表

split()函数:切片函数

>>> string.split('str')

以字符str为分隔符切片,返回list
可以用list[0]取用分隔符前段
或list[1]取用分隔符后段


更多的numpy中的函数,可以查阅官网:http://docs.scipy.org/doc/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值