本文共 2214 字,大约阅读时间需要 7 分钟。
numpy 的属性: shape(数组维度的元组)、ndim(数组维数)、size(数组元素数量)、itemsie(一个数组元素的长度字节)、dtype(元素类型)
创建数组指定类型:
np.array([1.1,2.2,3.3], dtype = ‘float32’) 3.3.1生成数组 生成0和1 np.zeros(shape=[ , ], dtype=" ") np.ones(shape) 从现有数组中生成 np.array() 深拷贝 np.copy() 深拷贝 np.asarray() 浅拷贝 生成固定范围的数组 np.linspace(0, 10, 100) 生成[0,10] 等距100个元素np.arange(a, b, c) 生成[a, b) c是步长
生成随机数组
np.random模块 均匀分布:每组可能性相等 np.random.rand(d0,d1,…,dn):返回[0.0, 1.0)内的一组均匀分布的数。 np.random.uniform(low=0.0,high=1.0,size=None) low:采样下界,float,默认0 high:上界,float,默认1 size:输出样本数目,为int或tuple元组类型,例如,size=(m,n,k),则输出mnk个样本,缺省时输出1个值 返回值:ndarray类型,其形状和参数size中描述一直np.random.randint(low, high=None,size=None, dtype=‘I’):从一个均匀分布中随机采样,生成一个整数或n维数组,取数范文:若high不None时,取lowhigh之间随机整数,否则取0low之间随机整数
正态分布:概率分布。μ=0,thegma=1时标准正态分布np.random.normal(loc=0.0, scale=1.0,size=None)
loc:float 此概率分布均值 scale:float 此概率分布的标准差,对应分布宽度,scale越大越矮胖,越小越瘦高 size:int or tuple of ints,输出的shape,默认为None,只输出一个值 np.random.standard_normal(size = None) 返回指定形状的标准正态分布的数组。3.3.2数组的索引切片
3.3.3形状修改
ndarray.reshape() 返回新的adarray,原始数据没有改adarray.resize(shape) 没有返回值,对原始ndarray进行了修改
ndarray.T 转置,行变列,列变行 3.3.4类型修改 ndarray.astype(type) ndarray.astype(“int32”) ndarray序列化到本地 ndarray.tostring()3.3.5数组去重
ndarray.unique() 不能直接用set函数,如果要用,可先用flatten函数拍扁为一维再使用。如图ndarray运算
逻辑运算 布尔索引 例:通用判断函数
np.all(布尔值) 只要有一个False就返回False,只有全是True才返回True np.any() 只要有一个True就返回True,只有全是False才返回False三元运算符np.where
np.where(布尔值,True位置的值,False位置的值)统计运算
统计指标函数 min, max, mean, median, var, std(标准差) np.函数名 axis=1和axis=-1是一样的索引,不同库可能不同,最保险还是都试一试返回最大值、最小值所在位置
np.argmax() np.armin()数组间运算
场景:计算学生平时成绩和期末成绩求出最终成绩 数组与数的运算数组与数组的运算
广播机制:执行broadcast的前提在于,两个ndarray执行的是element-wise的运算,Broadcast机制的功能是为了方便不同形状的ndarray(numpy库的核心数据结构)进行数学运算 当操作两个数组时,numpy会诸葛比较他们的shape,只有在维度相等,shape(其中相对应的一个地方为1)时才能够进行数组与数组的运算。例如矩阵运算
两种方法存储矩阵 1.ndarray 二维数组 np.matmul() np.dot() data_arry @ weights 2.matrix data_mat * wights_mat矩阵的乘法运算:
形状:(m, n)*(n, l) = (m, l)合并、分割:
合并: np.hstack() 水平拼接np.vstack()竖直拼接
np.concatenate():即可水平拼接也可竖直拼接
分割:
numpy.split(ary, indices_or_section, axis=0) split an array into multiple sub_arraysIO操作和数据处理
numpy读取:np.genfromtxt(’****.csv’, delimiter=",") 存在缺失值nan一般不用numpy读取。 如何处理缺失值: 1.直接删除含有缺失值样本数据 2.替换或插补法,样本数据少时,可以按列算平均值来替换 处理逻辑:转载地址:http://psnzk.baihongyu.com/