Python numpy操作:数组创建与随机数生成
需积分: 18 167 浏览量
更新于2024-08-05
收藏 17KB DOCX 举报
"这篇文档包含了Python编程中使用numpy库的一些常见问题及解答,涉及了numpy创建不同类型的数组、随机数生成以及数组操作等基础知识。"
在Python编程中,numpy库是处理数值计算的重要工具,提供了高效的数据结构和数组操作功能。以下是针对题目中给出的各个部分的详细解释:
### 创建数组
1. **`np.zeros()`**: 这个函数用于创建一个指定形状和数据类型的全零数组。例如,`np.zeros((3,3),'u2')` 创建了一个3x3的无符号16位整数零数组。
2. **`np.empty()`**: 它创建一个未初始化的数组,初始值不确定。`np.empty((3,3),'S')` 创建了一个3x3的字符串类型空数组,其中每个元素都是空字符串。
3. **`np.full()`**: 这个函数用于创建一个填充特定值的数组。如`np.full((3,3),False)` 创建了一个3x3的布尔型数组,所有元素为False。另外,直接通过列表创建相同内容的数组,然后使用`np.asarray()`转换,如`b=np.asarray(a)`。
4. **`np.ones()`** 和 `np.arange()`: `np.ones((5,5),'i')+np.arange(5)` 创建一个5x5的数组,每一行的值为1到5的整数。`np.resize()` 可以改变数组的形状,如`b=np.resize(a,(5,5))` 把1到6的一维数组转换为5x5的二维数组。
### 随机数生成
1. **`np.random.random()`**: 生成[0, 1)之间均匀分布的随机浮点数,如`a=np.random.random(10)`。
2. **`np.random.random()` 与 `*100`**: 可以生成[0, 100)区间内的随机浮点数,如`a=np.random.random(10)*100`。
3. **`np.random.randn()`**: 生成标准正态分布的随机数,即均值为0,标准差为1的随机数。例如,`a=np.random.randn(2,4)`。
4. **自定义正态分布**:`np.random.normal(mu, sigma, size)` 可以生成均值为`mu`,标准差为`sigma`的正态分布随机数。如`a=np.random.normal(mu, sigma, (2,4))`。
### 数组操作
1. **获取数组角上的元素**:`np.arange(16).reshape(4,4)` 创建了一个4x4的数组,通过切片可以获取角上的元素。例如,对于数组的左上、右上、左下、右下角元素,可以分别用切片`a[[0,3],[0,0]]`,`a[[3,3],[0,3]]`,`a[[0,0],[3,3]]`,`a[[3,0],[3,3]]`来获取。
以上只是numpy库中的一部分功能,numpy还支持数组的数学运算、统计计算、排序、索引、广播等高级操作,是进行科学计算和数据分析的强大工具。在实际编程中,理解并熟练掌握numpy的使用能够极大地提升代码效率。
2022-08-08 上传
2023-06-28 上传
2023-09-01 上传
2023-05-21 上传
2023-06-11 上传
2021-06-01 上传
2018-05-25 上传
十七210
- 粉丝: 1
- 资源: 2
最新资源
- growth-record:学习各种语言和技术的过程记录
- Band-Playlist:一个简单的工具,可为您的果酱会议管理乐队的播放列表。 全部在Angularjs + Firebase中。 应用程序可以离线工作
- kiri-web:基里页面
- johnmansson.github.io:托管
- Druid源码(apache-druid-0.22.1-src.tar.gz)
- 基于Swing+jdbc+mysql的Java图书管理系统.zip
- 教育门户
- joshschmelzle:你好! 我是乔希
- 行业文档-设计装置-一种切葱花专用刀具.zip
- mondora-iron-router-rest-auth:IronRouter插件(可选)对服务器路由进行身份验证
- CloudComputingProject1SingleInstance
- dotandbox:点和盒游戏
- 如何使自己的程序自动更新(在线更新).zip
- airtable-lite:轻型安全的Airtable API客户端
- 广东工业大学 数据库课程设计.zip
- notocjk:适用于Android设备的NotoSansCJK和NotoSerifCJK完整补丁