码农知识堂 - 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
  • 相关阅读:
    智云通CRM:销售的黄金法则,尊重客户的意见
    以太坊的终局:去信任的信任
    基于AI深度学习的安全帽检测算法,如何应用在实际场景中?
    Lwip之TCP客户端示例记录
    ChatGPT在测试计划中的应用策略
    Java项目:SSM农产品朔源管理系统
    Linux终端上传、下载文件命令 lrzsz
    mysql分区表的增删改查操作
    (22杭电多校二)Two Permutation (dp),Package Delivery (贪心)
    网站客服系统搭建,为企业提供更好的客户体验(ttkefu)
  • 原文地址:https://blog.csdn.net/YasmineC/article/details/126214826
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号