机器学习框架学习笔记- Numpy

450 阅读3分钟

前面写过了关于python的基础语法,详情请点击

juejin.cn/post/684490…


本篇文章主要介绍的是

Numpy基础:数组和矢量计算

在使用Numpy之前要明白一件事,我们使用Numpy算法是因为Numpy算法要比python快很多


从上面的计算时间我们可以看出来计算时间减少一半


由此让我们开始对numpy进行了解和学习吧 !


对于numpy来说ndarray(N维数组对象)是一个很重要的模块,你可以·利用数组对里面的数据进行整块的计算。

简单的说

我在这里利用randn函数随机生成一个数组


然后让数组里面所有的元素乘以十,看到输出的结果


由此可见ndarray(N维数组对象)的强大


创建nbarray

array函数

创建数组最简单的办法就是使用array函数

import numpy as np #调用numpy
data1 = [6,7.5,8,0,1]#创建一个列表
arr1 = np.array(data1)#把列表变成一个numpy数组
arri

data2 =[[1,2,3,4],[5,6,7,8]]#多列表
arr2 = np.array(data2)#创建多维数组
arr2

zero和ones函数

zeros和ones分别可以创建 指定长度或形状的全0或全1数组


nidm和shape函数

通过nidm和shape可以查看数组属性



dtype函数

np.array会尝试为新建的这个数组推断出一 个较为合适的数据类型。我们可以用dtype函数对数组自动生成的类型进行查看



arange函数

arange是Python内置函数range的数组版




补充:



ndarray的数据类型

dtype对象

dtype(数据类型)是一个特殊的对象,它含有ndarray将一块内存解释为特定数据 类型所需的信息



NumPy所支持的全部数据类型

 


astype方法

astype方法我们可以理解为用这个可以对数据类型进行强制类型转换




索引和切片 

基础的切片和索引


也可以这样做


如果你只想复制而不是切片的话可以使用,arr[5:8].copy()函数


高维度数组切片索引

二维数组




三维数组



切片


对一维数组切片的时候我们用过这样的切片方式



对于二维数组,三维数组切片我们使用的方式是:

二维:


三维:



但是这种方式不能更精确的定位,我想要里面任意一个值的话可以使用下面的方法:





到这里为止numpy的基础学习笔记就做完了,下一篇文章我想整理一下关于numpy进阶的知识


大纲如下:

布尔型索引花式索引数组转置和轴对换快速的元素级数组函数利用数组进行数据处理          将条件逻辑表述为数组运算          数学和统计方法          用于布尔型数组的方法           排序           唯一化以及其它的集合逻辑 用于数组的文件输入输出 线性代数 伪随机数生成 随机漫步 一次模拟多个随机漫步