Numpy学习笔记

Numpy库学习笔记

Numpy的核心array对象以及创建array的方法

一,Array对象的背景:

①Numpy的核心数据结构,就叫做array就是数组,array对象可以是一堆数组,也可以是多维数组;

②python的list也可以实现相同的功能,但是array比list的优点在于性能好,包含的数组元数据信息,大量的便捷函数;

③Numpy成为事实上的Scipy,Pandas,Scikit-Learn,Tensorflow,Paddlepaddle等框架的“通用底层语言”

④Numpy的array和Python的List的一个区别,是他元素必须都是同一种数据类型,比如都是数字int类型,这也是Numpy高性能的一个原因;

二,array本身的属性

①shape:返回一个元组,表示array的维度

②ndim:一个数字,表示array的维度的数目

③size:一个数字,表示array中所有数据元素的数目

④dtype:array中元素的数据类型

三,创建array的方法

①从python的列表List和嵌套列表创建array

②使用预定函数arange,ones/ones_like,zeros/zeros_like,empty/empty_like,full/full_like,eye等函数创建

③生成随机数的np.random模块构建

Numpy常用random随机函数汇总

函数名

说明

seed([seed])

设定随机种子,这样每次生成的随机数会相同

rand(d0,d1,d2…,dn)

返回数据再【0,1】之间,具有均匀分布

randn(d0,d1,d2…,dn)

返回数据具有标准正太分布(均值0,方差1)

andint(low[,high,size,dtype])

生成随机整数,包含low,不包含high

random([size])

生成【0.0,1.0】的随机数

choice(a[,size,replace,p])

A是一维数组,从它里面生成随机结果

shuffle(x)

把一个数组x进行随机排列

permutation(x)

把一个数组x进行随机排列,或者数字的全排列

normal([loc,scale,size])

按照平均值loc和方差scale生成高斯分布的数字

untiform([low,high,size])

在【low,high】之间生成均匀分布的数字

四,Numpy中的数学统计函数

函数名

说明

np.sum

所有元素的和

np.prod

所有元素的乘积

np.cumsum

元素的累积加和

np.cumprod

元素的累积乘积

np.min

最小值

np.max

最大值

np.percentile

0-100百分位数

np.quantile

0-1分位数

np.median

中位数

np.average

加权平均,参数可以指定weights

np.mean

平均值

np.std

标准差

np.var

方差

以上函数,都有一个参数叫做axis用于指定计算轴为行还是列,如果不指定,那么会计算所有元素的结果

五,Numpy的axis参数的用途

axis=0代表行,axis=1代表列

对于sum/mean/media等会聚合函数:axis=0代表跨行计算,axis=1代表跨列计算

重点:机器学习将数据进行标准化

     A=(A-mean(A,axis=0))/std(A,axis=0)

六,Numpy给数组增加一个维度

   在不改变数据的情况下,添加数组维度;(注意观察这个例子,维度变了,但数据不变)

   原始数组:一维数组arr=[1,2,3,4],其shape是(4,),取值分别为arr[0],arr[1],arr[3]

   变形数组:二维数组arr[[1,2,3,4,]],其shape是(1,4),取值分别为a[0,0],a[0,1],a[0,2],a[0,3]

   3种方法:① np.newaxis: 关键字,使用索引的语法给数组添加维度

             ② np.expend_dims(arr,axis):方法,和np.newaxis实现一样的功能,给arr在axis位置添加维度

             ③ np.reshape(a.mewshape):方法,给一个维度设置为1完成升维

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值