Numpy简单小结

  NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。

 NumPy的一些操作

  • 多维数组ndarray的创建

  1. np.array(元组|列表) #把元组或列表转化为数组
  2. np.arange([开始数值,]结束数值[,步长]) #获取开始到结束的步长序列
  3. np.linspace(开始,结束,组数,endpoint=是否包含结束值) #线性分段
  4. np.zeros((行数,列数) [,dtype=元素数据类型]) #创建元素为0的array
  5. np.ones((行数,列数) [,dtype=元素数据类型]) #创建元素为1的array
  6. np.eye(N) #创建N行N列对角线为1的array
  7. np.empty((行数,列数),[,dtype=元素数据类型]) #默认值的数组
  8. np.random.rand(行数,列数) #随机0-1之间的数
  9. np.random.randint(开始值,结束值,size=(行,列)) #开始~结束的指定个随机数
  10. np.random.randn(N) #正态分布小的N个随机数
 
  • 数组属性(属性名后没有小括号)

  • arr.ndim #数组的维度
  • arr.shape #数组的行列数
  • arr.size #数组的元素个数 等价于(len())
  • arr.dtype #数组元素的类型
 
  • 数组引用

  • 切片 开始:结束:步长 #索引从0开始,左闭右开
  • 取一行 arr[0] 直接给行号,多行时,行号用[] 括起来 arr[0,:] #行号,所有列。 所有行或所有列时用 : 表示

  • 取一列 arr[:,0] #所有行,列号 arr[:,0]

  • 条件取(按True,False 对应位置取) arr[行条件,列条件]
 
  • 数组函数

  • arr.reshape(数值1,数值2,...) #重塑元素类型
  • arr.max() # 等价于 np.max(arr)
  • arr.min() # 等价于 np.min(arr)
  • arr.mean() # 等价于 np.mean(arr)
  • arr.sum() # 等价于 np.sum(arr)
  • arr.log() #等价于 np.log(arr) e为底的对数
  • arr.exp() #等价于 np.exp(arr) e的几次方
  • arr.std() #等价于 np.std(arr) arr的标准差
  • arr.var() #等价于 np.var(arr) arr的方差
  • arr.argmax() #等价于 np.argmax(arr) 最大值所在的位置
  • arr.argmin() #等价于 np.argmin(arr) 最小值所在的位置
  • arr.floor() #等价于 np.floor(arr) 小于数组元素的最大整数
  • arr.ceil() #等价于 np.ceil(arr) 大于数组元素的最小整数
  • arr.round(n) #等价于 np.round(arr) 数组元素保留n位小数
  • arr.sqrt() #等价于 np.sqrt(arr)
  • arr.T 或 arr.transpose() #矩阵转置
  • arr.dot(arr.T) #等价于 np.dot(arr,arr.T) #进行矩阵乘法
  • np.mat()  # →矩阵
  • np.multiply(mat1,mat2) #矩阵计算对应位置乘法 arr1 * arr2
  • np.sort(a,axis=1|0) #排序 ,以第一列对行进行排序,或以第一行对列进行排序
  • np.argsort(a,axis=1|0) #排序后的索引位置
  • a.ravel() #数组展开为一维度
  • np.cumsum(a) #累加函数
  • np.where(条件,true,false) #等价于excel的if,可嵌套
  • np.unique(数组)#对数据去重
 
  • 数组添加元素

  • sss=np.vstack((原数组,想添加的数组)) #添加行,参数要有()
  • np.vstack((arr1,[81, 64, 64, 10])) #[81, 64, 64, 10]处可以以元组的方式展示
  • sss=np.hstack((原数组,想添加的数组)) #添加列,参数要有(),数数据要体现出列的关系
  • np.hstack((arr1,[[1],[2],[3]])) #[1],[2],[3]] 可以用元组,但内部元素不要元组
  • sss=np.append(原数组,想添加的数组,axis=行为0,列为1) #想添加的数组的维度与原数组维度一致
  • sss=np.insert(原数组,位置,想添加的list,axis=行为0,列为1) #二维数据 只要长度一致即可
  • sss=np.insert(原一维数组,位置,想添加的list)#一维数据

猜你喜欢

转载自www.cnblogs.com/adamone/p/12270087.html