Python numpy.array详解:创建、读取与操作
需积分: 37 79 浏览量
更新于2024-09-08
收藏 1.04MB PDF 举报
"numpy.array函数简介"
在Python的科学计算库Numpy中,`numpy.array`是核心的构造函数,用于创建多维数组,也被称为数组对象或 Ndarray。Ndarray 是一种高效的数据结构,它能够存储同类型的元素,包括整数、浮点数、复数甚至字符串。`numpy.array` 函数允许我们以多种方式创建数组,并提供了丰富的操作和功能。
### 创建数组
1. **基础创建**:通过列表或其他序列创建数组,如 `np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]], dtype=np.float)` 创建了一个3x4的浮点数数组。
2. **arange**:使用 `np.arange(start, stop, step)` 创建等差序列,例如 `np.arange(0, 1, 0.1)` 生成0到1(不包含1)之间,步长为0.1的数组。
3. **linspace**:`np.linspace(start, stop, num)` 创建等差序列,其中`num`是元素个数。如 `np.linspace(0, 1, 5)` 返回五个均匀间隔的点。
4. **logspace**:`np.logspace(start, stop, num)` 生成对数等比序列,如 `np.logspace(0, 1, 5)` 产生10的幂次方的等比序列。
5. **fromstring**:使用字符串创建数组,`np.fromstring(s, dtype=np.int8)` 把字符串`s`转换成整型数组。
6. **fromfunction**:`np.fromfunction(function, shape)` 根据给定的函数和形状生成数组。例如,`np.fromfunction(func2, (9, 9))` 用函数`func2`的值填充9x9的数组。
7. **ones** 和 **zeros**:`np.ones(shape)` 和 `np.zeros(shape)` 分别创建全1和全0的数组,如 `np.ones((2,2))` 和 `np.zeros((2,2))`。
### 数组属性
- **dtype**:数组元素的数据类型,如 `np.array(..., dtype=np.float)` 指定为浮点型。
- **shape**:数组的维度和大小,可以通过 `.shape` 属性访问。例如,一个3x4数组的`.shape`为 `(3, 4)`。可以通过 `.reshape(new_shape)` 改变数组的形状,但需保证元素总数不变。
### 数组操作
- **索引和切片**:数组的索引和切片操作与Python列表类似,但多维数组支持更复杂的切片,如 `arr[1:3, 2:]`。
- **布尔索引**:可以使用布尔数组或条件表达式(如 `arr > 0.5`)来选择满足条件的元素。
### 其他知识点
- **内存共享**:通过切片或方法如 `reshape` 创建的新数组与原始数组共享内存,这意味着修改其中一个会影响另一个。
- **广播机制**:当进行数组运算时,如果两个数组的形状不匹配,Numpy会尝试“广播”较小的数组以适应较大的数组,以便进行计算。
- **ufuncs**:通用函数(Uniformed Function),如加法、乘法等,可以应用于整个数组,实现高效的向量化操作。
`numpy.array` 是Numpy库的基础,它提供了一种高效的方式来存储和处理大量数据,结合其他Numpy函数和方法,可以进行复杂的数值计算和数据分析。掌握 `numpy.array` 的使用对于任何需要处理大量数据的Python程序员都是至关重要的。
2021-01-07 上传
2020-09-19 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
初上花样年华
- 粉丝: 18
- 资源: 19
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目