numpy模块
4由于python对数字的不准确,不只是python
其他很多编程语言对数字都不是很敏感
但python又可以做人工智能,量化交易等,数据必须精确无误,就需要用到numpy模块
numpy简介
1.Numpy是高性能科学计算和数据分析的基础包
2.也是pandas等其他数据分析的工具的基础
3.NumPy具有多维数组功能,运算更加高效快速
打开anaconda软件 点击 notebook

单维数组与多维数数组
在numpy中

为单维数组

为二维数组(矩阵)
同一个数组内的数组类型是一致的 ,一旦有小数,其他整数都会转换成x.的形式表示

数据类型
布尔型 bool_ 后面的下划线是为了和python语言做区分
整形int_ int8 int16 int32 int64
无符号整型 uint8 uint16 uint32 uint64
浮点型 float_ float16 float32 float64
复数型 complex_ complex64 complex128
T 数组的转置(二维数组以上)

dtype 数组元素数据类型

size 元素个数

ndim 数组个数

shape 数组维度大小(两行三列)

常用方法
如何查看使用方法
方法1 在方法后加?即可查看
方法2 在方法名后 按住shift+tab 查看(推荐使用)

array()将列表转为数组
arrange()range的numpy版,支持浮点数

也可以支持小数

linspace()这个方法顾头顾尾

zero() 根据参数和dtype创建全0数组
np.zero((3,4))创建一个三行四列的全零数组

ones()根据参数和dtype创建全1数组
np.ones((2,3)) 创建一个两行三列的全1数组

empty()根据参数和dtype创建一个空数组
np.empty(40)创建随机数组

np.eye(10)根据指定边长和dtype创建单位矩阵(10*10)

索引和切片



间断索引(通过指定索引值取数据)

逻辑索引res[res>100]

针对二维数组索引与切片
res[行索引(切片),列索引(切片)]

res1[0:2,1,4]

res1[2,:] 取第三行

res1[:,3] 取第四列

res1[2,2] 取15

运算符
数学运算符
+ 数组对应元素相加

-数组对应元素相减

*数组元素相乘

/数组元素相除

%数组元素商的余数

// 数组元素的整除数

**数组对应元素的幂指数

比较运算符
> 判断res1元素是否>res2元素

<判断res1元素是否<res2元素

>=判断res1元素是否大于等于res2元素

<=判断res1元素是否小于等于res2元素

==判断res1元素是否等于res2元素

!= 判断res1元素 是否不等于res2元素

函数
np.round(res1)对res1的元素四舍五入

np.sqrt(res1) 对res1的元素算术平方根

np.square(res1) 计算res1元素的平方值

np.exp(res1)计算res1以e为底的指数

np.power(res1, α) 计算各元素的指数

np.log2(res1) 计算以2为底各元素的对数

np.log10(res1) 计算以10为底各元素的对数

np.log(res1) 计算以e为底各元素的对数

常用统计函数:
np.min(res1)求最小值

np.max(res1) 求最大值

np.mean(res1)求平均值

np.median(res1)计算中位数

np.sum(res1) 按照轴的方向计算和

np.std(res1)按照轴的方向计算标准差

也可以通过axis=0 对一个二维数组求各列的统计值
axis=1 对一个二维数组求各行的统计值


numpy中的random子模块
np.random
rand 给定形状产生随机数组(0到1之间的数)
randint 给定形状产生随机整数
choice 给定形状产生随机选择
shuffle 与random.shuffle相同
uniform 给定形状产生随机数组(随机均匀分布)
normal 随机正态分布

浙公网安备 33010602011771号