码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python>>numpy包


    章节内容

            什么是NumPy模块和NumPy数组

            创建数组

            基本数据类型

            数据可视化

            索引和切片

            副本和视图

    目录

    什么是NumPy模块和NumPy数组?

    创建数组

    基本数据类型

    数据可视化

    索引和切片

    副本和视图


    什么是NumPy模块和NumPy数组?

    NumPy数组

    python对象
    • 高级数字对象:整数、浮点数
    • 容器:列表,字典,元组
    NumPy提供:
    • 继承了python中的列表(List)容器中的优良特性
    • 丰富的函数,便于提高计算效率,提高代码简洁新
    • 专业为科学计算而设计
    • 也成为面向数组,矩阵(多维数组)的计算

    计算效率大幅度提高

    每个循环 178 μs ± 3.98 μs(7 次运行,每次 10,000 次循环)。

    NumPy 参考文档

    •  一个外国的文档:NumPy Documentation
    • 怎么查询一个numpy中的关键词

    • 交互式的帮助

     创建数组

    利用arange手动构建数组

     

    利用linspace创建数组

     

     用特殊的方法创建特殊数组

    • 利用zeros(n)创建一个n个元素的数组

    • 利用zeros((n,m))创建多维数组

    • 利用eye((n,m))创建多维数组

    • 利用diag((n,m))创建多维数组(方阵)

     基本数据类型

    复数类型:
     d = np.array([1+2j, 3+4j, 5+6*1j])
     d.dtypedtype('complex128')
    布尔数据类型:
    e = np.array([True, False, False, True])
    e.dtypedtype('bool')
    字符串类型: 
    f = np.array(['Bonjour', 'Hello', 'Hallo'])
    f.dtype # <--- strings containing max. 7 letters dtype('S7')
    更多:
    • int32
    • int64
    • uint32
    • uint64

    数据可视化

    • 导入包

    import matplotlib.pyplot as plt
    • 数据的输入

    1. x = np.linspace(0,3,20)
    2. y = np.linspace(0,8,20)
    • 绘制图形
    plt.plot(x,y)

    •  一个有趣的实验
    1. image = np.random.rand(30,30)
    2. plt.imshow(image,plt.cm.hot)

     索引和切片

    创建一个数组之后,因为numpy几乎继承了python中的list容器中所有特性,其切片和list容器的切片操作类似,这里就不展开了,直接用图来展示。

     副本和视图

    我们创建一个切片之后,得到的numpy数组和原来的数组是共享同一块内存空间,所以修改任意一个numpy数组中的数据,另外的一个numpy数组也会被修改。

    • 调用np.map_share_memory(a,b),可以查看两个数组是否共用一个内存空间
    1. a = np.arange(10)
    2. >>> aarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    3. >>> b = a[::2]
    4. >>> b
    5. array([0, 2, 4, 6, 8])
    6. >>> np.may_share_memory(a, b)
    7. True
    • 如果不想共享同一块内存空间
    1. a = np.arange(10)
    2. >>> c = a[::2].copy()
    3. c[0] = 0
    4. >>> np.may_share_memory(a, c)
    5. False

        

     

  • 相关阅读:
    工业网络通讯技术的发展历程
    实现不同局域网间的文件共享和端口映射,使用Python自带的HTTP服务
    关于FPGA对 DDR4 (MT40A256M16)的读写控制 3
    Linux安装haproxy
    【迁移学习】迁移学习的基本概念与应用
    ununtu中vim的使用
    【Python脚本进阶】1.2、python脚本基础知识(中)
    quinn源码解析:QUIC数据包是如何发送的
    【POJ No. 3067】 公路交叉数 Japan
    接口测试框架基于模板自动生成测试用例!
  • 原文地址:https://blog.csdn.net/weixin_54201782/article/details/128061676
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号