码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python进阶复习-Numpy库


    目录

    • 使用场合
    • 创建数组
      • 从列表基础上创建
      • 从头开始创建
    • 四大运算
      • 向量化运算
      • 矩阵运算
      • 广播运算
      • 比较运算和掩码

    使用场合

    • 需要使用Pyhton的for循环实现一些向量化/矩阵化操作的场景【比如向量的点乘等】

    创建数组

    从列表基础上创建

    import numpy as np
    # 一维数组
    n1=np.array([1,5,3,4,5,6],dtype="float32")
    print(n1)
    # 二维数组
    n2=np.array([[1,2,3],[4,5,6],[7,8,9]])
    print(n2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    [1. 5. 3. 4. 5. 6.]
    [[1 2 3]
     [4 5 6]
     [7 8 9]]
    
    • 1
    • 2
    • 3
    • 4

    从头开始创建

    np.arange(1,9,3)
    
    • 1
    • 单位矩阵
    import numpy as np
    
    # 创建一个 3x3 的单位矩阵  
    matrix = np.eye(3)
    
    # 输出单位矩阵  
    print(matrix)  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    执行结果:

    [[1. 0. 0.]  
     [0. 1. 0.]  
     [0. 0. 1.]]  
    
    • 1
    • 2
    • 3

    四大运算

    向量化运算

    • 加减乘除、乘方、取余、整除、绝对值、三角函数、指数、对数
    print(n2+3)
    
    • 1
    [[ 4  5  6]
     [ 7  8  9]
     [10 11 12]]
    
    • 1
    • 2
    • 3
    • 两个数组的加减乘除

    矩阵运算

    • 矩阵转置
    import numpy as np
    
    A = np.array([[1, 2], [3, 4]])  # 创建一个 2x2 的矩阵 A  
    B = np.array([[5, 6], [7, 8]])  # 创建一个 2x2 的矩阵 B  
    A_transpose = A.T
    A_transpose
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    array([[1, 3],
           [2, 4]])
    
    • 1
    • 2
    • 矩阵乘法
    import numpy as np
    
    # 定义两个矩阵 A 和 B  
    A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])  
    B = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])
    
    # 计算矩阵乘法  
    dot_product = np.dot(A, B)
    
    # 输出结果  
    print(dot_product)  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    输出结果为:

    [ 58  42  29]  
    [139  99  63]  
    [203 142 105]  
    
    • 1
    • 2
    • 3

    广播运算

    • 广播运算是一种在不同形状的数组之间进行数学运算的方法,它能够自动将较小的数组扩展到与较大的数组相同的形状,从而使它们可以进行元素级别的运算。
    import numpy as np
    
    a = np.array([[1, 2, 3], [4, 5, 6]])  # 2x3 的数组  
    b = np.array([1, 2, 3])  # 1x3 的数组
    
    result = a + b  # 广播运算  
    print(result)  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    执行结果:

    [[2 4 6]  
     [5 7 9]]  
    
    • 1
    • 2

    比较运算和掩码

    • 比较运算
    import numpy as np
    x=np.random.randint(100,size=(5,5))
    print(x)
    print(x>60)
    print(np.sum(x>60))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    [[68 53 32 27 41]
     [87 49 21 48 32]
     [16 31 64 72 34]
     [18 63 65 55 10]
     [93 47 66 18 73]]
    [[ True False False False False]
     [ True False False False False]
     [False False  True  True False]
     [False  True  True False False]
     [ True False  True False  True]]
    9
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 掩码
    x[x>60]
    
    • 1
    array([68, 87, 64, 72, 63, 65, 93, 66, 73])
    
    • 1
  • 相关阅读:
    博客园美化显示效果
    基于Java毕业设计大学生兼职招聘网站源码+系统+mysql+lw文档+部署软件
    MacBookPro 安装cx_Oracle,并配置环境
    微软发布Phi-3,手机上就能跑,是时候聊聊小型语言模型了|TodayAI
    ubuntu 18.04 OAK-D系列相机运行VINS-Fusion 双目+IMU
    基于FPGA的 图像边沿检测
    python获取文件夹下所有图片目录
    【Excel VBA和Python对照学习】创建字典
    Spring Boot + Vue的网上商城之基于element ui后台管理系统搭建
    K8S云计算系列-(1)
  • 原文地址:https://blog.csdn.net/weixin_45880844/article/details/133035432
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号