Numpy学习笔记

1、Numpy创建array

创建数组

  1. np.array([list],dtype=np.int32)生成一个格式为int 32的数组
  2. np.zeros()生成全部为0的数组
  3. np.ones()生成全部为1的数组
  4. np.empty()生成一个空数组
  5. np.linspace(1,10,5)生成1到10 间隔为5的数列
  6. np.reshape((n,n)) 强制转换格式为n*n

numpy基础运算

  1. a=np.array([10.20.30.40])
  2. b=np.arange(4)
  3. c=a+b 逐个相加
  4. b**n 输出b的n次方
  5. c=np.sin(a)求a中每个值的sin值
  6. np.dot(a,b)矩阵乘法 或者 a.dot(b)
  7. a*b 逐个相乘
  8. np.random.random((2,5))随机生成一个2*5的数组
  9. np.max(list,axis=0)返回list的每一列上的最大值
  10. np.max(list,axis=1)返回list的每一行上的最大值
  11. np.argmin(a)返回a中最小值所在的位置
  12. a.mean or np.mean(a) 输出a的均值
  13. np.cumsum(a) 返回一个list,每n位表示a中前n位的和
  14. np.diff(a) 返回a中每两位的差
  15. np.nonzero(a) 返回两个list,其组合为非0值的位置
  16. np.transpose(a) or a.T 返回a的转置矩阵
  17. np.clip(a,max,min) 输出一个数组,其中其中大于max的全部用max代替,小于min的全部用min代替

Numpy索引

  1. A[2] 输出a的第二行
  2. A [2] [3] 输出a的第二行、第三列的一个元素
  3. A[1,2:3] 输出a的第一行 、第一个到第三个元素
  4. for row in A: 默认先迭代A的每一行
  5. for col in A.T 迭代A的每一列
  6. A.flatten() 将a打平成1行1列

Numpy数组合并

  1. np.vstack((a,b)) 将ab合并,a是第一行b是第二行(上下合并)
  2. np.hstack((a,b)) 将啊,b合并 ,a在左,b在右 (左右合并)
  3. a[np.newaxis,:] 在a的列上加入新的维度
  4. a[:,np.newaxis] 在a的行上加入维度
  5. np.concatenate((a,b,c),axis=0) 对多个数组在行维度进行合并

Numpy数组的分割

  1. np.split(ary,indices_or_sections,axis = 0) 将数组ary在axis的维度上分成n份(这里的split只能进行相等的分割。比如将34的矩阵分成两个32)
  2. np.array_split(ary,indices_or_sections,axis = 0) 将数组ary在axis上进行任意分割
  3. np.vsplit(A,n)将a横向分割,只能等分
  4. np.hsplit(A,n)将a竖向分割,只能等分

Numpy的copy

  1. 若a= np.arange(4),a=b 直接用等号复制的时候,numpy默认a is b。这时a,b关联 任何对a,b的操作都会改变a,b的值。(类似于指针?)
  2. 为了解决上面的问题,采用 b = a.copy(a) 只是把值赋值过去,而不将ab关联

3级标题

四级标题
五级标题
六级标题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值