numpy基础
1.1定义
-
(numpy)是python语言中做科学计算的基础库.重在与数值计算,也是大部分python科学计算库的基础,多用于在大型,多维数组上执行的数值运算
- 使用np.array()创建数组
- 使用plt创建
- 使用np的routlines函数创建
- 使用array()创建一个一维数组
# 使用array()创建一维数组 arr1=np.array([1,2,3]) # 使用array()创建多维数组,arr2(2维) arr2=np.array([[1,2,3],[1,2,3]])
-
1.数组和列表的区别是什么?
- 数组中存储的数据元素类型必须是同一类型
- 优先级:字符串>浮点型>整型
-
数据类型
- array(dtype=?):可以设定数据类型
- arr.dtype = ‘?’:可以修改数据类型
-
2.numpy函数
- zero()
- ones()
- linespace()
- arange()
- random系列
- 变形reshape
# shape表示数组的形状 fun1=np.zeros(shape=[2,3],dtype='int32') # 数值全为0 dtype数据类型 fun2=np.ones(shape=[2,3]) # np.ones数值全为1 fun3=np.linspace(0,100,num=20) # 从0-100中取出20个数,等差数列 fun4=np.arange(0,100,step=5) # 从0-100取出差为5的等差数列,step==步数 fun5=np.random.randint(0,100,size=[3,5]) # 从0-100随即取出3行5列的随机数 arr1=np.random.randint(0,100,size=[3,4]) # 将2维变一维 arr1.reshape((12)) arr1.reshape((6,-1)) #-1自动计算
-
3.numpy属性
- shape
- ndim
- size
- dtype
fun6=np.random.randint(0,100,size=[3,5]) # 从0-100随即取出3行5列的随机数 print(fun6.shape) # 形状 print(fun6.ndim) # 维度 print(fun6.size) # 个数 print(fun6.dtype) # 数据类型
1.2numpy的索引和切片操作(重点)
-
1.切片操作:
- 切出前两列数据
- 切出前两行数据
- 切出前两行的前两列数据
- 数组数据翻转
arr = np.random.randint(0, 100, size=[5, 4]) arr[0]# 索引取元素,取出第一行元素 # 切出前两列数据 arr[:, :2] # 切出前两行数据 arr[:2, :] # 切出前两行的前两列数据 arr[:2, :2] # 数组行数据翻转 arr[::-1] # 数组列数据翻转 arr[:, ::-1] # 数组行和列数据都翻转 arr[::-1, ::-1]
1.3级联操作
-
将多个numpy数组进行横向或纵向拼接
-
行一样列不一样,只能使用行级联
-
列一样行不一样,只能使用列级联
-
行列都一样,行列都可以级联
-
(以伪数组级联默认axis=0,默认为列)
-
axis轴向理解
- 0列 1行
array=np.random.randint(0,100,size=(3,5)) np.concatenate((array,array),axis=0)
1.4常见的聚合操作
- sum()求和
- max()最大值
- min()最小值
- mean()平均值
1.5常见的数学函数
- NumPy 提供了标准的三角函数:sin()、cos()、tan()
- numpy.around(a,decimals) 函数返回指定数字的四舍五入值。
- 参数说明:
- a: 数组
- decimals: 舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置
- 参数说明:
1.5常见的统计函数
- numpy.amin() 和 numpy.amax(),用于计算数组中的元素沿指定轴的最小、最大值。
- numpy.ptp():计算数组中元素最大值与最小值的差(最大值 - 最小值)。
- numpy.median() 函数用于计算数组 a 中元素的中位数(中值)
- 标准差std():标准差是一组数据平均值分散程度的一种度量。
- 公式:std = sqrt(mean((x - x.mean())**2))
- 如果数组是 [1,2,3,4],则其平均值为 2.5。 因此,差的平方是 [2.25,0.25,0.25,2.25],并且其平均值的平方根除以 4,即 sqrt(5/4) ,结果为 1.1180339887498949。
- 方差var():统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,即 mean((x - x.mean())** 2)。换句话说,标准差是方差的平方根。
1.6矩阵
- numpy中包含了一个矩阵库numpy.matlib,该模块中的函数返回的是一个矩阵,而不是ndarray对象
- 一个的矩阵是一个由行(row)列(column)元素排列成的矩形阵列
- numpy.matlib.identity()函数返回给定大小的单位矩阵