numpy
Python的一个扩充程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
numpy方法 | 解释 |
---|---|
np.dtype | 指定当前numpy对象的整体数据, 见下一个表格 |
np.itemsize | 对象中每个元素的大小, 单位字节 |
np.size | 对象元素的个数, 相当于np.shape中的n*m值 |
np.shape | 轴, 查看数组形状, 对于矩阵, n行m列 |
np.ndim | 秩 |
np.isnan(list) | 筛选出nan值 |
np.iscomplex(list) | 筛选出非复数 |
~ | 取补运算符 |
np.array(数组, dtype=np.bool) | 自定义数组类型 |
np.astype(np.bool) | 转换数组类型 |
np.mat() | 将python 列表转化成矩阵 |
np.mat().getA() | 将matrix对象转成ndarray对象 |
np.matrix() | 同上 |
np.asmatrix() | 将ndarray对象转成matrix对象 |
np.tile() | 重复某个数组。比如tile(A,n),功能是将数组A重复n次,构成一个新的数组传送门 |
np.I | 矩阵求逆 |
np.T | 矩阵转置, 行变列, 列变行, 对角线翻转矩阵 |
np.tolist() | 转换成python列表, 用于和python原生结合写程序 |
np.multiply(x, y) | 矩阵x 矩阵y相乘 |
np.unique() | 数组驱虫, 并且从小到大生成一个新的数组 |
np.arange | 同python range() |
np.arange(24).reshape((2, 3, 4)) | 创建一个2维3行4列的数组, 必须能被给定的长度除开, 可以索引和切片 |
np.arange(24).resize((2, 3, 4)) | 同上, 会修改原值 |
np.linspace(x, y, z) | 等间距生成, x起始, y截止, z步长 |
np.ones(x) | 生成都是x的数组, 可传递三维数组, 几行几列, 具体的个数 |
np.zeros(x) | 生成都是0的数组 |
np.full([x, y], z) | 自定义模板数组, 生成x行y列都是z的数组 |
np.eye(x) | 创建一个正方的x*x单位的矩阵, 对角线为1, 其余为0 |
np.flatten() | 数组降维, 不改变 原值 |
np.random.rand(x, y, z) | 生成一个一维x随机数或生成x*y的随机数组 |
np.random.randn(x, y) | 正态分布随机数 |
np.random.randint(low, high, (shape)) | 整数随机数 |
np.random.normal(loc, scale, (size)) | 从指定正态分布中抽取样本, loc为概率分布的均匀值, 标准差scale |
np.random.seed(s) | 给一个随机数字固定 |
np.randomunifrom(low, high, (size)) | 均匀分布的数组, 有小数 |
np.random.shuffle(a) | 将数组a的第0轴(最外维度)进行随机排列(洗牌), 改变数组a, 行边列不变 |
np.random.permutation(a) | 同上, 不改变数组a |
np.random.choice(a, size=None, replace=False, p=数组a/np.sum(b)) | 从一维数组a中以概率p抽取元素,形成size形状新数组,replace表示是否可以重用元素,默认为False,p为抽取概率,本位置越高,抽取概率越高 |
np.sum(axis=None) | 求和, axis=0为列, 1为行 |
np.argsort() | 矩阵每个元素坐标排序 |
np.sort(axix=None) | 从小打大排序 |
-np.sort(axis=None) | 从大到小排序 |
np.sort_values(‘字段’, ascending=False) | 排序,升序排列 |
np.mean(axis=None) | 平均数 |
np.average(axis=None,weights=None) | 加权平均,weights加权值,不设为等权重,例子[10, 5, 1],每列分别X10,X5,X1在/(10+5+1) |
np.var(axis=None) | 方差:各数与平均数之差的平方的平均数 |
np.std(axis=None) | 标准差:方差平方根 |
np.min(axis=None) | 最小值 |
np.argmin(axis=None) | 求数组中最小值的坐标 |
np.median(axis=None) | 中位数 |
np.ptp(axis=None) | 元素最大值与最小值的差 |
np.cumsum() | 累加,cumsum和cumprod之类的方法不聚合,产生一个中间结果组成的数组,默认一维数组,1为按原样 |
np.cumprod() | 累乘 |
np.count_nonzero(arr > 0) | 计数非0值个数,布尔值会被强制转换为1和0,可以使用sum()对布尔型数组中的True值计数 |
np.bools.any() | 测试数组中是否存在一个或多个True |
np.bools.all() | 数组中所有值是否都是True, 测试有没有空值 |
np.bools.all() | 数组中所有值是否都是True, 测试有没有空值 |
np.bools.all() | 数组中所有值是否都是True, 测试有没有空值 |
matplotlib
是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形,可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。Matplotlib非常简单, 只需几行代码即可生成绘图,直方图,功率谱,条形图,错误图,散点图等。 为了简单绘图,pyplot模块提供了类似于MATLAB的界面,特别是与IPython结合使用时。 对于高级用户,可以通过面向对象的界面或MATLAB用户熟悉的一组函数完全控制线条样式,字体属性,轴属性等。
h5py
在Python提供读取HDF5二进制数据格式文件的接口,以前的训练及测试图片集是以HDF5储存的。h5py文件是存放两类对象的容器,数据集(dataset)和组(group),dataset类似数组类的数据集合,和numpy的数组差不多。group是像文件夹一样的容器,它好比python中的字典,有键(key)和值(value)。group中可以存放dataset或者其他的group。”键”就是组成员的名称,”值”就是组成员对象本身(组或者数据集),下面来看下如何创建组和数据集。
PIL
(Python Image Library) 为Python提供图像处理功能。Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内。如open、save、conver、show…等功能。
scipy
基于NumPy,用于数值运算.具有很多搞笑操作,如数值积分、优化、统计、信号处理,以及图像处理功能。
sklearn
提供了数种聚类算法,为数据挖掘和数据分析提供了简单有效的工具。