Numpy入门:实战演示简单用法与操作
55 浏览量
更新于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融入到各种数据处理任务中,提升代码效率和可读性。
点击了解资源详情
点击了解资源详情
221 浏览量
2129 浏览量
639 浏览量
109 浏览量
122 浏览量
412 浏览量
6360 浏览量
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38634037
- 粉丝: 7
最新资源
- Spring-Struts-Hibernate集成应用教程
- 工作流基础与jBpm开源引擎解析
- JSP入门教程:基础语法与示例解析
- MD5加密算法详解与安全性分析
- Visual FoxPro 6.0 教程:从基础到面向对象编程
- 新型轴流压缩机防喘振控制系统设计与应用
- 软件开发编码规范与约定详解
- 麦肯锡方法与结构化问题解决
- Vim编辑器完全指南:动手实践版
- 富士变频器RS485通讯卡详细指南:远程操作与扩展功能
- Spring框架入门教程
- C++/C编程规范与指南
- Struts框架详解:构建高效Web应用
- 迈克尔·巴雷的C/C++嵌入式系统编程指南
- Google搜索技巧详解:从基础到高级
- Windows系统管理命令大全