numpy
Posted fangyingdong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy相关的知识,希望对你有一定的参考价值。
numpy
-
两种基本对象
NumPy提供了两种基本的对象:ndarray(N-dimensional Array Object)和ufunc(Universal Function Object)。ndarray(下文统一称为数组)是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。
-
数组的属性及说明
-
数组的创建
-
NumPy提供的array函数可以创建一维或多维数组,基本使用语法如下
- numpy.array(object, dtype=None, copy=True, order=‘K‘, subok=False, ndmin=0)
-
np.arange(start, end,step)
- arange 函数类似于 Python 自带的函数 range,通过指定开始值、终值和步长来创建一维数组,创建的数组不含终值
-
np.linspace(start, end, step)
- 类似于arange, 但是其包含终值,在指定的间隔内返回均匀间隔的数字。
-
np.logspace(start,end,step)
- logspace函数和linspace函数类似,它创建的是等比数列。
- 例如: 生成1(100)~100(102)的20个元素的等比数列
- np.logspace(0,2,20)
-
np.zero生成全为0的数组
-
np.eye对角线上为1,其他全为0的数组
-
diag 函数创建类似对角的数组,即除对角线以外的其他元素都为 0,对角线上的元素可以是0或其他值,
-
ones函数用来创建元素全部为1的数组
-
随机数组
-
random函数是最常见的生成随机数
-
rand函数可以生成服从均匀分布的随机数
-
randn函数可以生成服从正态分布的随机数
-
randint函数可以生成给定上下限范围的随机数
numpy.random.randint(low, high=None, size=None, dtype=‘l‘)
- 其中,low为最小值,high为最大值,size为数组的shape
-
seed确定随机数种子,使其生成的随机数一致
-
-
-
数组的数据类型
-
在NumPy中,所有数组的数据类型是同质的,即数组中的所有元素类型必须是一致的。这样做的好处是,更容易确定该数组所需要的存储空间。
-
-
数组形态变化
-
reshape函数改变数组的“形状”,也就是改变数组的维度。其参数为一个正整数元组,分别指定数组在每个维度上的大小。reshape函数在改变原始数据的形状的同时不改变原始数据的值。如果指定的维度和数组的元素数目不吻合,则函数将抛出异常
-
ravel函数完成数组展平工作
-
flatten函数也可以完成数组展平工作。与ravel函数的区别在于,flatten函数可以选择横向或纵向展平
-
-
数组的组合
-
横向组合hstack
-
纵向组合vstack
-
concatenate函数也可以实现数组的横向组合和纵向组合,其中参数axis=1时按照横轴组合,参数axis = 0时按照纵轴组合
-
-
创建NumPy矩阵
-
mat和matrix创建矩阵
-
矩阵组合函数bmat
-
矩阵的加减乘
?
-
矩阵的一些属性
-
-
numpy读写文件
- save和savez
- np.save(file, arr, allow_pickle=True, fix_imports=True) 拓展名.npy
- savez将多个数组保存在一个文件中,拓展名为.npz
- 可省略拓展名
- 读load
- 不可省略拓展名
- save和savez
-
排序
-
sort 函数是最常用的排序方法,无返回值。如果目标函数是一个视图,则原始数据将会被修改
-
使用sort函数排序时可以指定一个axis参数,使得sort函数可以沿着指定轴对数据集进行排序
-
-
数据去重与重复
-
去重unique
-
tile函数和repeat函数实现数据重复
- numpy.tile(A, reps)
- 参数“A”指定重复的数组,参数“reps”指定重复的次数
- numpy.repeat(a, repeats, axis=None)
- 参数“a”指定需要重复的数组元素,参数“repeats”指定重复次数,参数“axis”指定沿着哪个轴进行重复
-
-
以上是关于numpy的主要内容,如果未能解决你的问题,请参考以下文章