python module使用之----Numpy(快速入门)

这篇博客相当于是对numpy这个module的快速入门,都是一些常见的用法。Numpy实际上包含了两种基本的数据类型:数组和矩阵。二者在处理上稍微有所不同。如果小伙伴们对MATLAB比较熟悉的话,矩阵实验室,那肯定对矩阵处理相当熟悉了。在使用标准的python时,处理这两种数据类型均需要循环语句。而在使用numpy时则可以省去这些语句。

下图可以很明显的看出numpy两种数据的形式,两者是怎么定义的,和具体的转换方法。

这里写图片描述

下面是处理数组的一些例子:

这里写图片描述

因为在cmd窗口运行python还是比较方便的,LZ就把基本的对数组的运算放到了一起,这样看还是比较方便的。

下面来介绍矩阵

numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中。 class numpy.matrix(data, dtype, copy):返回一个矩阵,其中data为ndarray对象或者字符形式;dtype:为data的type;copy:为bool类型。

第一行从numpy导入matrix或者mat模块,mat是matrix的缩写。

这里写图片描述

这里我们可以看到一个error,乘法不能执行。矩阵数据类型的运算会强制执行数学中的矩阵运算, 1×3的矩阵是不能与1×3的矩阵相乘的(左矩阵的列数和右矩阵的行数必须相等)。这时需要将其中一个矩阵转置。numpy数据类型有一个转置方法,这里调用了.T完成了ss的转置。所以,知道矩阵的大小有助于对上述错误的调试,可以通过numpy中的shape方法来查看矩阵或者数组的维数。

这里写图片描述

multipy函数可以把矩阵mm的每个元素和矩阵ss的每个元素对应相乘。使用sort()可以把数组或者矩阵排序,这种方法是原地排序(即排序后的结果占用原始的存储空间),所以,如果希望保留数据的原序,必须事先做一份拷贝。也可以使用argsort()方法得到矩阵中的每个元素的排序序号。最后还显示了提取矩阵元素的方法,注意一个问题,python的下标是从0开始的,且不包含最后一个数,如果下标为[0:2],那么实际只取了下标[0, 1]两个元素。

矩阵对象的属性:

matrix.T transpose:返回矩阵的转置矩阵

matrix.H hermitian (conjugate) transpose:返回复数矩阵的共轭元素矩阵

matrix.I inverse:返回矩阵的逆矩阵

matrix.A base array:返回矩阵基于的数组

矩阵对象的方法:

all([axis, out]) :沿给定的轴判断矩阵所有元素是否为真(非0即为真)

any([axis, out]) :沿给定轴的方向判断矩阵元素是否为真,只要一个元素为真则为真

argmax([axis, out]) :沿给定轴的方向返回最大元素的索引(最大元素的位置)

argmin([axis, out]): 沿给定轴的方向返回最小元素的索引(最小元素的位置)

argsort([axis, kind, order]) :返回排序后的索引矩阵

astype(dtype[, order, casting, subok, copy]):将该矩阵数据复制,且数据类型为指定的数据类型

byteswap(inplace) Swap the bytes of the array elements
choose(choices[, out, mode]) :根据给定的索引得到一个新的数据矩阵(索引从choices给定)

clip(a_min, a_max[, out]) :返回新的矩阵,比给定元素大的元素为a_max,小的为a_min

compress(condition[, axis, out]) :返回满足条件的矩阵

conj() :返回复数的共轭复数

conjugate() :返回所有复数的共轭复数元素

copy([order]) :复制一个矩阵并赋给另外一个对象,b=a.copy()

cumprod([axis, dtype, out]) :返回沿指定轴的元素累积矩阵

cumsum([axis, dtype, out]) :返回沿指定轴的元素累积和矩阵

diagonal([offset, axis1, axis2]) :返回矩阵中对角线的数据

dot(b[, out]) :两个矩阵的点乘

dump(file) :将矩阵存储为指定文件,可以通过pickle.loads()或者numpy.loads()如:a.dump(‘d:\a.txt’)

dumps() :将矩阵的数据转存为字符串

fill(value) :将矩阵中的所有元素填充为指定的value

flatten([order]) :将矩阵转化为一个一维的形式,但是还是matrix对象

getA() :返回自己,但是作为ndarray返回

getA1():返回一个扁平(一维)的数组(ndarray)

getH() :返回自身的共轭复数转置矩阵

getI() :返回本身的逆矩阵

getT() :返回本身的转置矩阵

max([axis, out]) :返回指定轴的最大值

mean([axis, dtype, out]) :沿给定轴方向,返回其均值

min([axis, out]) :返回指定轴的最小值

nonzero() :返回非零元素的索引矩阵
prod([axis, dtype, out]) :返回指定轴方型上,矩阵元素的乘积

ptp([axis, out]) :返回指定轴方向的最大值减去最小值

put(indices, values[, mode]) :用给定的value替换矩阵本身给定索引(indices)位置的值

ravel([order]) :返回一个数组,该数组是一维数组或平数组

repeat(repeats[, axis]) :重复矩阵中的元素,可以沿指定轴方向重复矩阵元素,repeats为重复次数

reshape(shape[, order]) :改变矩阵的大小,如:reshape([2,3])

resize(new_shape[, refcheck]) :改变该数据的尺寸大小

round([decimals, out]) :返回指定精度后的矩阵,指定的位数采用四舍五入,若为1,则保留一位小数

searchsorted(v[, side, sorter]) :搜索V在矩阵中的索引位置

sort([axis, kind, order]) :对矩阵进行排序或者按轴的方向进行排序

squeeze([axis]) :移除长度为1的轴

std([axis, dtype, out, ddof]) :沿指定轴的方向,返回元素的标准差

sum([axis, dtype, out]) :沿指定轴的方向,返回其元素的总和

swapaxes(axis1, axis2):交换两个轴方向上的数据

take(indices[, axis, out, mode]) :提取指定索引位置的数据,并以一维数组或者矩阵返回(主要取决axis)

tofile(fid[, sep, format]) :将矩阵中的数据以二进制写入到文件

tolist() :将矩阵转化为列表形式

tostring([order]):将矩阵转化为python的字符串

trace([offset, axis1, axis2, dtype, out]):返回对角线元素之和

transpose(*axes) :返回矩阵的转置矩阵,不改变原有矩阵

var([axis, dtype, out, ddof]) :沿指定轴方向,返回矩阵元素的方差

view([dtype, type]) :生成一个相同数据,但是类型为指定新类型的矩阵

上面列出了numpy.matrix的属性,很多,但其实并不需要记得,只要当作手册会查阅就可以了O(∩_∩)O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值