目录
- Numpy概述
- array数组
- 数组结构
- 数组类型
- 数值运算
- 排序操作
- 数组形状操作
- 数组生成函数
- 四则运算
- 随机模块
- 文件读写
Numpy概述
NumPy 是 Python 中的一个开源数学库,提供了快速且便捷的数组处理功能,可以用来进行科学计算、数据分析、算法开发等多种任务。NumPy 是 Python 科学计算生态系统的核心组件之一,与众多科学计算相关的库都依赖NumPy。如果你想在 Python 中进行科学计算,那么必须掌握 NumPy 的使用。
导入numpy
import numpy as np
- 普通数组list

可以看出list不能和数值变量进行运算
- numpy中的数组类型是ndarray

- ndarray类型的数组就能和单个数值进行简单运算,过程就是把数字中的每一个元素都与这个数值做运算,即广播机制

- 两个ndarray类型的数值运算

- 和list一样的索引获取值

- 定义多维数组

- ndarray数组不仅可以和单个数值进行运算 相同形状的ndarray也可以进行简单运算,就是对应位置的元素分别进行运算

- ndarray使用shape知道该矩形的尺寸,而list不支持

array数组
可以使用list来转换成ndarray

- 使用dtype获取数组中元素的类型

- 和list 不同的是list的中的元素类型可以不同,ndarray中的元素类型必须相同,如果不同那么会向下转型成一样的,这里有4个int32 一个float64,然后会自动把int32 转成float64



-
ndarray的一些基本操作

-
fill 给数组都填充成一个元素

-
索引 切片等与list 没啥区别

数组结构
- 多维数组即矩阵的一些操作



-
这里做并不会新开辟一块内存,而是都指向同一块内存进行操作要使用copy函数 才是新开内存然后赋值过去


-
使用arange 产生数组,指定左闭右开的区间,和步长

-
产生bool类型的数组

-
使用布尔类型数组,来拿到对应位置arr的元素,相应位置为true就获取,为false就不取

-
数据初始化10个元素的数组

-
使用这种方法给mask赋值

-
在用上面的mask来获取arr1中相应位置元素
-


-
获取特定位置的坐标 使用where 函数

-
通过这种方式返回特定元素

数组类型
-
指定类型

-
我们可以设置ndarray 存储任意类型,一般计算不推荐这样设置


-
使用asarray方法转换类型



-
可以直接通过变量.astype 转换

数值运算
-
sum

-
对列求和

-
对行求和



-
prod 累乘


-
min 最小值

-
max 最大值同理

-
返回最大值或最小值索引

-
std 标准差

-
var 方差

-
clip方法是把小于3的改成3 大于5的改成5

-
round 四舍五入


排序操作
-
sort

-
argsort 返回排序后下标的变化

- searchsorted 在一个已经有序的数组中如果插入一个数组,返回插入元素按照有序的方式插入时,所插入位置的下标

-lexsort函数的使用 先按照第2列升序排序,在2列升序的情况下,按照0列降序排序,返回最终下标数组

数组形状操作
-
shape 查看形状

-
一种改变数组形状的方式

-
reshape 改变数组形状的另一种方式,这里没有改变原数组

尺寸形状要能对应上元素总数量,否则就报错 -
newaxis 增加维度

-
左边增加维度

-
增加多个维度

-
squeeze 压缩维度 把维度为1的轴全部移除

-
转置 不改变原数组


-
数组的连接



-
展开成一维数组

数组生成函数
生成ndarray数组的几种方式
-
直接在参数列表中手写list,或者传入list

-
arange 函数


-
linspace

-
logspace

-meshgrid 生成二维网格


- 返回行向量 返回列向量

- 生成全为0的zeros 和全为1的ones


- empty 元素是随机的

- fill 填充特定值

- zeros_like ones_like 照着给定数组尺寸生成全是0 全是1 的数组

- identity 生成单位阵

四则运算
- multiply

- dot 矩阵相乘



- ==

- 与运算

- 或运算

- 非运算

随机模块
- random.rand

- random.randint

- random.random_sample

- random.normal


- 洗牌

文件读写
先写入一下数字在文本中

使用普通方法读文件到数组中

-
loadtxt





-
savetxt 将数组写到txt中

-
直接读写ndarray 保存形式有.npy .npz
-
save

-
savez















![[LeetCode周赛复盘] 第 103 场双周赛20230429](https://img-blog.csdnimg.cn/fe9cd6a5db2a4158a6dcb7bc441efa71.png)




