Numpy

Numpy

1、numpy优势:

速度:运算速度快

在哪里:内存分布连续;实现并行化运算。

2、ndarray:

相同类型数据集合;n维数组

(1)属性:a.shape(形状);a.ndim(维度);a.size(元素的数量);a.itemsize(每个元素占得位数);a.flags。

(2)形状:(4,)表示一维数组,有四个元素;(2, 2, 3)表示三维数组,如:b=np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])。

(3)类型:可以指定类型dtype=np.float32

(4)自定义数据结构,如存储学生的姓名身高

mytype=np.array([(‘name’,np.string_,10),(‘height’,np.float64)])

处理复杂类型时用pandas,numpy用于计算。

3、基本操作

(1)创建数组:np.ones([3,4])

从已有的数组a中创建:np.array(a)与np.asarray(a),asarray创建新的数组,而array引用之前的数组。

创建固定范围np.linespace(始,终,个数)(等间隔)和np.arange(始,终,步长)

创建随机数组:均匀分布——np.random.rand(10)\randint(100)\uniform(0,100)

正态分布——方差反应数据的离散程度;创建:np.random.normal(1.75,0.1,[10,10])

(2)案例:随机生成500个股票两年的交易日涨跌幅(符合正态分布)

  • 索引:通过下标获取stock_rise_day[0,0:100]

  • 修改数组的形状类型:(元素数量匹配)

stock_rise_day.reshape([504,500])没有修改原来的形状

resize修改原来的形状

flatten把所有数据变成一维

  • 修改数据类型stock_rise_day.astype(np.int32)

  • 修改小数位数np.round(stock_rise_day[0,:100],2)

  • 转置ndarray.T

  • arr.tostring()转换成bytes

4、逻辑运算

逻辑判断temp>0.5;赋值temp[temp>0.5]=1

通用函数判断:np.all(temp>0.5)对所有数据进行判断返回True或者Flase

np.unique

复合逻辑运算np.where(np.logical_and(temp>0.5,temp<1),1,0)

​ np.where(np.logical_or)

5、统计运算

目标:最大值,最小值,平均值,标准差,最大最小值的索引,中位数

np.max(temp,axis=1) axis=1是按行求。

np.std;np.var;np.mean

如果需要统计某一只股票在哪个交易日的涨幅最大或者最小:np.argmax

6、数组间运算

(1)数组跟数

arr+1;arr/2

(2)数组跟数组

广播机制,限制一些数组之间的一些运算操作,方便不同形状的array进行运算。进行运算的数组要满足两个条件:维度相等或者shape(其中相对应的一个地方为1)

用的很少

(3)矩阵运算:机器学习中会经常用到的规则

矩阵就是一种特殊的二维数组(有自己的运算机制)

np.mat(array)默认将传入的数组转化成2维

np.matmul(),矩阵相乘,默认吧数组转化成矩阵

7、合并和分割

np.concatenate([stock1,stock2],axis=1)axis指定按列拼接

np.hstack(列);np.vstack(行)

np.split()均等分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值