Numpy学习记录

这篇博客记录了作者学习Numpy的过程,旨在掌握并整理Numpy的常用语法和小贴士,包括数组生成、矩阵运算、拼接、重塑、查找非零元素、重复元素、求和、找最小值索引以及比较操作等,希望通过实践和总结避免使用时的困扰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Numpy实战记录

动机

一直以来,只能看得懂numpy的语法,自己写起来太蹩脚了,动不动就要网上搜索,效率太低。痛定思痛,决定自己好好整理一下,有时间的话抽空来看一看,争取永久性掌握!

import numpy as np

Numpy Tips

  1. 对于很多函数func()而言,B=np.func(matrixA,...)B=A.func(...)是等价的
  2. 生成数组np.array(),生成矩阵np.mat(),全零np.zeros(一个数/元组)【len_of_array / (num_of_row, num_of_col)】,全一np.ones(一个数/元组)【len_of_array / (num_of_row, num_of_col)】

Numpy 常用语法

  1. @, decorator, 相当于矩阵相乘, 也即np.dot(matrixA, matrixB)np.matmul(matrixA, matrixB)*,值得一提的是如果matrixA和matrixB都是x向量的话,相当于向量内积
    A = np.array([[1,2],
                  [3,4]])    # 2-dim
    A2 = A@A    # same as np.dot(A,A)
    
  2. np.concatenate((m1,m2,m3...), axis=0)沿axis的方向拼接多个矩阵
    AAA = np.concatenate((A,A,A), axis=1)    # num of columns increases
    AAA = np.concatenate((A,A,A), axis=0)    # num of rows increases
    
  3. np.transpose(),括号内写转换成轴,若不写则逆序全返
    A_trans = A.transpose(1,0)    # a combination of 0 to n-1 for n-dim 
    
  4. np.reshape(matrix, newshape=int或(), order=’C’/’F’/’A’),简单来说,打碎重组,常用于重建矩阵,计算的时候调整维数,具体的自行百度/google比较清晰
    A_reshape = np.reshape(A,newshape=(4,1))    # return a (4,1) matrix
    
  5. np.nonzero(matrix),用于寻找matrix中非零元素,返回是多个array表示的地址,例如返回[1,3],[2,0],说明原矩阵内(1,2)和(3,0)两位置上的数是非零的
    A_non0 = np.nonzero(A)
    # return: (array([0,0,1,1], dtype=int64), array([0,1,0,1], dtype=int64))
    
  6. np.repeat(matrix, repeats=int或[], axis=None/0/1),用于沿着flatten/0/1轴重复repeats次
    A_repeat = np.repeat(A, repeats=1)
    # return: [1,2,3,4]
    
  7. np.sum(matrix, axis=int或()),用于计算和,axis若是元组则表示要依次在axis的维度加和
    A_sum = np.sum(A, axis=0)
    # return: [4,6]
    
  8. np.argmin(matrix, axis=None/0/1)用于寻找最小值索引,沿着flatten/0/1轴
    A_amin = np.argmin(A, axis=1)
    # return: [0,0]
    
  9. np.array_equal(A, B)用于判断两数组是否相等,在此忽略np.array和python自带list的区别
    A_is = np.array_equal(A, A.tolist())
    # return: True
    
  10. np.argsort(matrix, axis=2/1/0)用于寻找排序后的索引默认最内排序
    A_asort = np.argsort(A, axis=0)
    # return: [[0 0]
    #		   [1 1]]
    

Numpy 小结

更新中…
以上皆是实战中遇到的,用于自省,希望自己不会在同一个地方翻跟头,望诸君共勉之~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值