Numpy模块的使用

Numpy模块的使用

安装方式:

pip install  numpy  -i https://pypi.douban.com/simple/

一、介绍      

      NumPy(Numerical Python) 是 Python语言的一个扩展程序库,支持任意维度的数组和矩阵操作,此外也针对数组运算提供了大量的内置方法。

      NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

•一个强大的N维数组对象 ndarray  

•广播功能函数

•整合 C/C++/Fortran代码的工具

•线性代数、傅里叶变换、随机数生成等功能数学函数库。

二、方法和属性

1、ndarray的属性

1)属性及其说明如下表所示:

属性名字说明
shape返回 tuple。表示数组的形状,对于 n 行 m 列的矩阵,形状为(n,m)
ndim返回 int。表示数组的维数
size返回 int。表示数组的元素总数,等于数组形状的乘积
dtype返回 data-type。描述数组中元素的类型
itemsize返回 int。表示数组的每个元素的大小(以字节为单位)

2)ndarray的数据类型

类型描述
bool布尔类型(True或False)
int8整数,范围为−128至127
int16整数,范围为−32768至32767
int32整数,范围为−231至232-1
int64整数,范围为−263至263-1
uint8无符号整数,范围为0至255
uint16无符号整数,范围为0至65535
uint32无符号整数,范围为0至232-1
uint64无符号整数,范围为0至264-1
类型描述
float16半精度浮点数(16位),其中1位表示正负号,5位表示指数,10位表示尾数
float32单精度浮点数(32位),其中1位表示正负号,8位表示指数,23位表示尾数
float64单精度浮点数(64位),其中1位表示正负号,11位表示指数,52位表示尾数
complex64复数,分别用两个32位浮点数表示实部和虚部
complex128复数,分别用两个64位浮点数表示实部和虚部
objectPython对象
string_字符串
unicode_unicode类型

2、numpy多种方法创建数组

1)生成0和1的数组:

 ① numpy.zeros(shape,dtype = float,order = "C" )

 ② numpy.ones(shape,dtype = float,order = "C" )

参数说明:

参数描述
shape数组形状
dtype数据类型,可选
order有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。

2)重现有数组生成

①numpy.array(object[,dtype,order])

②numpy.asarray(object[,dtype,order])

③numpy.copy(object[,order])

参数名称说明
object接收array。表示想要创建的数组。无默认。
dtype接收data-type。表示数组所需的数据类型。如果未给定,则选择保存对象所需的最小类型。默认为None。
order表示计算机内存中的存储元素的顺序

3)生成固定范围的数组

①numpy.linspace(start,stop,num=50, endpoint=True,retstep=False,dtype=None)

通过指定开始值、终值和元素个数创建等差数列数组,默认设置包括终值

参数说明:

参数描述
start序列的起始值
stop序列的终止值,如果endpoint为True,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为 Ture 时,数列中包含stop值,反之不包含,默认是True。
retstep如果为 True 时,生成的数组中会显示间距,反之不显示。
dtypendarray 的数据类型

②np.arange(start,stop,step,dtype)

通过指定开始值、终值和步长创建一维数组,创建的数组不含终值。

参数说明:

参数描述
start起始值,默认为0
stop终止值(不包含)
step步长,默认为1
dtype返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。

4)、生成随机数组

①numpy.random.uniform(low=0.0,high=1.0,size=None)

功能:产生在[0,1)中均匀分布的随机数

返回值:ndarray类型,其形状和参数size中描述一致

参数说明:

参数描述
low采样下界,float类型,默认值为0
high采样上界,float类型,默认值为1
size输出样本数目,为int或元组类型,缺省时输出1个值

② numpy.random.normal(loc=0.0, scale=1.0,size=None)

功能:返回指定形状的标准正态分布的数组

参数说明:

参数描述
loc均值,float类型
scale标准差,float类型
size输出样本数目,为int或元组类型,缺省时输出1个值

三、切片索引

1、一维数组索引:基于 0-n 的下标进行索引,与Python中list操作一致(不含stop)。

① [index]                           非负整数:从 0 往后数;负整数:从 -1往前数

②[start : stop]                  取值范围:[start:stop)

③ [start :]、[ : stop]          取值范围:[start : -1] 、[0 : stop)

④ [start : stop : step]         start<stop,step>0:按照步长(顺序)取值    [start:stop)

                                          start>stop, step<0:按照步长(从后向前)取值    [start:stop)

⑤array[start : stop] = [n1, n2, …]                 数组元素值修改

2、多维数组索引:多维数组的每个维度都有一个索引,各个维度索引之间用逗号隔开。

    [索引1,索引2, ……]  索引规则<= 维度,从前向后匹配维度

四、数组的形态

1、数组形状修改

①ndarray.reshape(shape)

说明:返回新数组,数据进行重新分割

 ②ndarray.resize(shape)

说明:修改原始数组,数据进行重新分割

 ③ ndarray.T

 说明:转置:行变成列、列变成行,返回新的数组

2、数组类型修改

①ndarray.astype(type)

说明:返回新数组,改变数组类型的同时不改变原始数据的值

 ②ndarray.tostring()

说明:转换成bytes类型

3、数组的去重

numpy.unique(arr, return_index=False,return_inverse=False,  return_counts=False)

功能:找出数组中的唯一值,并返回已排序结果

参数说明:

 ①arr:输入数组,如果不是一维数组则会展开

 ②return_index:若为True,返回新数组元素在原数组中的位置(下标)

 ③return_inverse:若为True,返回原数组元素在新数组中的位置(下标)

 ④return_counts:若为True,返回去重数组中元素在原数组中的出现次数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值