码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【知识点合辑】numpy常用函数+jupyter小用法


    文章目录

      • 关于numpy的常用函数总结
        • 1. numpy.linalg.norm
        • 2. numpy.flatnonzero
        • 3. numpy.squeeze
        • 4. np.maximum
        • 5. numpy.argsort
        • 6. numpy复制并扩充维度
      • jupyter notebook小用法总结
        • 1. 导出为pdf
        • 2. 终止某个正在运行的cell
        • 3. %用法
        • 4. 三种cell类型
      • python
        • 1. 匿名函数
        • 2. pass 语句
      • operands could not be broadcast together with shapes

    关于numpy的常用函数总结

    1. numpy.linalg.norm

    功能:计算两个向量之间的L2距离(或L2范式)
    公式: ∑ p ( I p 1 − I p 2 ) \sqrt{\sum_p{(I_p^1-I_p^2)}} ∑p​(Ip1​−Ip2​) ​
    用法:

    dist = np.linalg.norm(X[i]-self.X_train[j])
    
    • 1

    等价于:

    dist = np.sqrt(np.sum(np.square(X[i]-self.X_train[j])))
    
    • 1

    2. numpy.flatnonzero

    功能:返回输入数组的非0元素的索引
    用法:略

    3. numpy.squeeze

    功能:对向量进行级联操作
    用法:指定向量(以序列形式出现)和维度即可

    np.hstack((a,b), 0)
    
    • 1

    4. np.maximum

    功能:数组中元素大于0的元素保持不变,其余变为0;相当于是max(a, 0)的操作
    用法:

    np.maximum(a, 0)
    
    • 1

    5. numpy.argsort

    功能:对数组进行排序(升序),然后按照顺序返回索引数组
    用法:

    avgDists.argsort()[:n] # 取出前n个小的数据的索引
    (-avgDists).argsort()[:n] # 逆序排列并取出前n个
    
    • 1
    • 2

    6. numpy复制并扩充维度

    np.expand_dims(a,0).repeat(1000,axis=0)
    
    • 1

    jupyter notebook小用法总结

    1. 导出为pdf

    如果在浏览器中打开jupyter的话,就会发现将.ipynb文件以很多种形式导出,然而导出为pdf的话经常失败,建议先导出为md文件,然后用Typora打开,再导出为pdf就比较方便了

    2. 终止某个正在运行的cell

    直接点Interrupt符号就可以,之前一直以为这个符号就是中断整个jupyter kernel,所以中断之后会把之前运行过的cell全都重新运行一遍,后来发现不需要

    3. %用法

    功能:行魔法函数,只对本行代码生效(表示不太懂什么叫只对本行代码生效)
    用法:
    在这里插入图片描述
    比较常见的就是其中的%matplotlib inline,这样运行后,以后使用plt生成的图片就不会再弹出一个对话框来显示了

    4. 三种cell类型

    • Code(编辑代码,运行后显示代码运行结果)
    • Markdown(编写Markdown文档,运行后输出Markdown格式的文档) (从运行状态返回编辑状态,只需要双击)
    • Raw NBConvert(普通文本,运行不会输出结果)

    python

    1. 匿名函数

    lambda arguments: expression
    功能:用一行代表一个函数
    用法:

    double = lambda x: x * 2
    print(double(5))
    
    • 1
    • 2

    输出:

    10
    
    • 1

    2. pass 语句

    空语句,是为了保持程序结构的完整性。如果定义了某函数,但还没想好该怎么写,就在函数体中加入pass

    operands could not be broadcast together with shapes

    m = x - y # x: (500, 500), y: (500, )
    
    • 1

    直觉来说,x, y这两个矩阵可以通过广播相减的,但仍然报错operands could not be broadcast together with shapes

    只需要:

    y = np.expand_dims(y, 1)
    
    • 1
  • 相关阅读:
    【数据库入门】关系型数据库为什么这么受欢迎?
    BUUCTF test_your_nc
    【好文转载】面向连接和非连接的区别
    JAVA IO——常用的类
    React生命周期和响应式原理(Fiber架构)
    统计语言模型笔记
    蓝桥杯(3.12)
    世界银行使用.NET 7开发的免费电子问卷制作系统Survey Solution
    Vue3 自定义渲染器 API createRenderer()(七)
    专访 Web3Go 新产品 Reiki:培育 AI 原生数字资产与创意新土壤
  • 原文地址:https://blog.csdn.net/YasmineC/article/details/126214826
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号