Numpy入门:实战演示简单用法与操作
166 浏览量
更新于2024-08-31
收藏 54KB PDF 举报
Numpy是一个强大的Python库,专为科学计算和数据分析设计,其核心是NumPy数组(ndarray),它提供了高效、内存优化的多维数组操作。本文将详细介绍Numpy的简单用法,帮助读者理解和掌握这个工具在编程中的应用。
首先,我们来了解如何创建`ndarray`对象。Numpy提供了多种方式创建数组:
1. **列表转换**:可以使用`np.array()`函数将列表转换为ndarray。例如,列表`[1,2,3,4,5]`转换为:
```
>>> a = [1,2,3,4,5]
>>> np.array(a)
array([1,2,3,4,5])
```
2. **随机数生成**:`np.random.rand()`用于生成指定形状的随机浮点数,如3x4的随机数组:
```
>>> np.random.rand(3,4)
array([[0.16215336, 0.49847764, 0.36217369, 0.6678112 ],
[0.66729648, 0.86538771, 0.32621889, 0.07709784],
[0.05460976, 0.3446629 , 0.35589223, 0.3716221 ]])
```
`np.random.randint()`则生成指定范围内的随机整数:
```
>>> np.random.randint(1,5,size=(3,4))
array([[2,3,1,2],
[3,4,4,4],
[4,4,4,3]])
```
3. **数值初始化**:`np.zeros()`生成全零数组,`np.ones()`生成全一数组,`np.empty()`创建具有未知初始值的数组,但请注意`np.empty()`的行为可能因版本不同而异,不推荐使用。还有针对整数的版本:
```
>>> np.zeros((3,4), int)
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]])
>>> np.ones((3,4), int)
array([[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]])
```
4. **仿射范围**:`np.arange()`用于生成等差数列,如从2到10,步长为2的数组:
```
>>> np.arange(2, 10, 2)
array([2, 4, 6, 8])
```
接着,我们探讨ndarray的属性查看和操作。使用`ndim`属性获取数组维度,`shape`属性查看数组的形状,以及基本的元素访问和修改:
```
>>> a = [[1,2,3,4,5],[6,7,8,9,0]]
>>> b = np.array(a)
>>> b.ndim # 查看维度
2
>>> b.shape # 查看形状 (2, 5)
# 操作示例
>>> c = b[0] # 提取第一行
>>> c
array([1, 2, 3, 4, 5])
# 修改元素
>>> b[1, 0] = 100
>>> b
array([[ 1, 2, 3, 4, 5],
[100, 7, 8, 9, 0]])
```
以上只是Numpy基本用法的一部分,Numpy还提供了丰富的数学函数、线性代数操作、统计分析等功能,这些都是数据处理和科学计算的强大工具。通过深入学习和实践,你可以将Numpy融入到各种数据处理任务中,提升代码效率和可读性。
2021-12-05 上传
2021-11-18 上传
2021-01-02 上传
2020-09-19 上传
2022-08-03 上传
2023-09-02 上传
2021-01-20 上传
2020-09-20 上传
2023-12-23 上传
weixin_38634037
- 粉丝: 7
- 资源: 958
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍