Numpy入门:实战演示简单用法与操作
115 浏览量
更新于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 浏览量
6366 浏览量

weixin_38634037
- 粉丝: 7
最新资源
- 微信小程序扫码借阅系统PHP后端开发指南
- Samba Denywrite-基于IP和路径的只读控制开源模块
- 掌握CCNP必备工具:Boson.NetSim模拟器详解
- MyBatis与Spring整合完美解决方案
- DailyLocalGuide: 探索本地交易与优惠的Chrome新标签扩展
- 仿网易严选商品详情页的iOS展示Demo
- 安卓日记本:提升删除日记功能完整性的解决方案
- Whip:快速高效IP信息查询与管理工具
- 探索PathFindingVisualizer:寻路算法的直观呈现
- 探索WinHttp POST工具:高级网站数据采集技术
- 提取文件版本信息与模块的终极指南
- 黑色导航大图酒店管理企业网站模板下载
- Swift新手实践教程:创建交互式转盘动画
- 掌握SpringCloud微服务:源码实战解析
- 构建跨平台通用客户端套接字库 libKBEClient
- MakeMyTrip浏览器好友优惠扩展:最新优惠一触即达