python之numpy
作者:互联网
1. numpy中用于生成ndarray的常用方法
1.1 导入numpy模块
import numpy as np
1.2 生成特定ndarray数组的方法
- np.ones(shape, dtype)
- np.ones_like(a, dtype)
- np.zeros(shape, dtype)
- np.zeros_like(a, dtype)
1.3 利用现有序列或数组生成ndarray数组
- np.array(object,dtype)
- 深拷贝,创建新的数组
- np.asarray(array,dtype)
- 浅拷贝
1.4 生成固定范围的ndarray数组
- np.linspace (start, stop, num, endpoint)
- num:生成序列中元素个数,默认50
- endpoint:是否包含stop值,默认为True
- np.arange(start,stop,step,dtype)
- step:步长,默认为1
- np.logspace(start,stop,num)
- 创建等比数列
- num:生成的ndarray对象的元素个数
1.5 利用np.random模块生成ndarray数组
- np.random.randn(d0,d1,...,dn)
- 生成的ndarray元素值符合标准正态分布
- 参数个数等于生成的ndarray的维度。
- np.random.normal(loc,scale,size)
- loc:正态分布的均值
- scale:正态分布的标准差
- size:生成的ndarray的dtype,是个元组或列表或int,缺省时输出一个值
- np.random.standard_normal(size)
- size:生成的ndarray的dtype,是个元组或列表
- np.random.rand(d0,d1,...,dn)
- 生成的ndarray对象的元素符合0-1均匀分布
- 参数个数等于生成的ndarray的维度
- np.random.uniform(low,high,size)
- low:采样下界
- high:采样上界
- size:为int或元组或列表类型,缺省时输出1个值
- np.random.randint(low, high=None, size=None, dtype='l')
- high不为空时,取[low,high)之间的随机整数
- 若high为空时,取[0,low)之间的随机整数
1.6 利用已有的数组生成一个去重的一维ndarray数组对象
- np.unique(array)
- array:一个数组
- 返回一个一维的去重的ndarray对象
2. ndarray类型:它是一个可变类型
2.1 ndarray对象的属性
属性名字 | 属性解释 |
---|---|
ndarray.shape | ndarray数组维度的元组 |
ndarray.ndim | ndarray数组维数 |
ndarray.size | ndarray数组中的元素数量 |
ndarray.itemsize | 一个ndarray数组元素的长度(字节) |
ndarray.dtype | ndarray数组元素的类型 |
2.2 ndarray对象的常用实例方法
- arr.reshape(shape)
- 返回一个新的视图
- arr.resize(new_shape)
- 原地修改
- 将数组本身形状改变
- arr.T
- 返回该arr的转置视图
- arr.astype(type)
- 修改元素类型,返回该arr的新的视图
- arr.tostring()
- 见名知意
- arr.tobytes()
- 转化为python字节
2.3 ndarray对象的索引
- arr[0,0:3]
- 逗号分割维度
- 每个维度都可以进行切片操作
2.4 ndarray对象的运算
# 每个元素进行比较
arr > 60
arr[arr>60]=1
- ndarray对象与数的运算
- 数与数组的逐个元素进行运算
- ndarray对象之间运算
- 对应元素相互运算。
- 满足广播机制
arr = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])
arr + 1
3. numpy中对ndarray运算的方法
3.1 通用判断函数:返回值为布尔类型
- np.all(关于数组的表达式)
- np.any(关于数组的表达式)
np.all(score[0:2, :] > 60)
np.any(score[0:2, :] > 80)
3.2 np.where(布尔表达式,情况1,情况2)
- 返回值是ndarray类型
np.where(temp > 60, 1, 0)
np.where(np.logical_and(temp > 60, temp < 90), 1, 0)
3.3 对ndarray的统计运算
- np.min(arr,axis)
- np.max(arr,axis)
- np.median(arr,axis)
- np.mean(arr,axis,dtype)
- np.std(arr,axis,dtype)
- np.var(arr,axis,dtype)
- np.argmax(arr,axis)
- np.argmin(arr,axis)
- np.sqrt(arr)
3.4 对ndarray进行矩阵运算
- np.matmul(arr1,arr2)
- np.dot(arr1,arr2)
- 也是矩阵相乘,还可以矩阵与标量运算
标签:arr,python,dtype,数组,np,numpy,ndarray,axis 来源: https://blog.csdn.net/weixin_44390164/article/details/121300677