python>>numpy包
章节内容 什么是NumPy模块和NumPy数组 创建数组 基本数据类型 数据可视化 索引和切片 副本和视图
目录
什么是NumPy模块和NumPy数组?
NumPy数组
python对象 | 高级数字对象:整数、浮点数容器:列表,字典,元组 |
---|---|
NumPy提供: | 继承了python中的列表(List)容器中的优良特性丰富的函数,便于提高计算效率,提高代码简洁新专业为科学计算而设计也成为面向数组,矩阵(多维数组)的计算 |
- 高级数字对象:整数、浮点数
- 容器:列表,字典,元组
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') |
更多: | int32int64uint32uint64 |
int32
int64
uint32
uint64
数据可视化
- 导入包
import matplotlib.pyplot as plt
- 数据的输入
x = np.linspace(0,3,20)
y = np.linspace(0,8,20)
- 绘制图形
plt.plot(x,y)
- 一个有趣的实验
image = np.random.rand(30,30)
plt.imshow(image,plt.cm.hot)
索引和切片
创建一个数组之后,因为numpy几乎继承了python中的list容器中所有特性,其切片和list容器的切片操作类似,这里就不展开了,直接用图来展示。
副本和视图
我们创建一个切片之后,得到的numpy数组和原来的数组是共享同一块内存空间,所以修改任意一个numpy数组中的数据,另外的一个numpy数组也会被修改。
- 调用np.map_share_memory(a,b),可以查看两个数组是否共用一个内存空间
a = np.arange(10)
>>> aarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b = a[::2]
>>> b
array([0, 2, 4, 6, 8])
>>> np.may_share_memory(a, b)
True
- 如果不想共享同一块内存空间
a = np.arange(10)
>>> c = a[::2].copy()
c[0] = 0
>>> np.may_share_memory(a, c)
False
相关文章
- python安装numpy后pycharm导入不了_pycharm中numpy安装
- Python Flask 编程 | 连载 04 - Flask 响应
- 在pycharm中如何新建Python文件?_github下载的python源码项目怎么用
- pycharm配置python运行环境_C中调用Python
- Python实现AI视频识别——手势控制[通俗易懂]
- leetcode之 两数之和 题目解答C/python
- python全局变量赋值_Python全局变量和局部变量[通俗易懂]
- 【说站】python随机数种子的特性
- Python基础学习2-os模块
- 数据结构与算法Python_数据结构与算法python语言实现
- python使用opencv如何保存图片_OpenCV Python 保存图片
- 使用python把pdf转化成word
- 网络工程师学Python-15-作用域
- Python命名空间包
- Python NumPy用法
- Python如何连接PostgreSQL数据库?(python连接postgresql)
- 使用Python连接SQL Server数据库(python连接sqlserver)
- 革命性技术:Python与MSSQL的携手合作(python和mssql)
- python从MSSQL到Python:一段跨语言的旅程(mssql除以)
- Python如何连接MySQL数据库(python怎么连接mysql数据库)
- Python的迭代器和生成器使用实例