文章目录numpy创建ndarray创建全0 ndarray创建全1 ndarray创建空 ndarray创建随机 ndarraynumpy.arange(a,b,n).reshape(i,j)numpy.linespace(a,b,n).reshape(i,j)numpy.narray的属性numpy.array.ndimnumpy.array.shapenumpyp.array.sizenumpy.narray运算-+array**nnumpy.sin(array)numpy.cos(array)numpy.tan(array)矩阵乘法numpy.narray逻辑运算array < num 在Python编程语言中,NumPy库是进行数值计算和科学计算的核心库。它提供了高效的多维数据结构——ndarray(n-dimensional array),以及各种数学函数和操作工具。本篇文章将详细探讨NumPy库的一些关键功能和操作。 1. **创建ndarray** - 使用`numpy.array()`函数可以创建ndarray,例如:`numpy.array([1, 2, 3])` 创建一个一维数组。 - 创建全0数组:`numpy.zeros((i, j))` 会生成一个i行j列的全0二维数组。 - 创建全1数组:`numpy.ones((i, j))` 生成一个i行j列的全1二维数组。 - 创建空数组:`numpy.empty((i, j))` 生成一个未初始化的i行j列数组,其初始值不确定。 - 创建随机数组:`numpy.random.rand(i, j)` 生成一个i行j列的浮点数数组,取值范围在[0, 1)之间。 2. **数组创建函数** - `numpy.arange(a, b, n)` 生成一个等差数列,从a到b(不包括b),步长为n,然后可以通过`.reshape(i, j)`将其转换为i行j列的数组。 - `numpy.linspace(a, b, n)` 生成一个等间距数列,从a到b(包括b),包含n个元素,同样可以使用`.reshape(i, j)`转换形状。 3. **ndarray属性** - `.ndim` 返回数组的维度。 - `.shape` 返回数组的尺寸,如`(i, j)`表示i行j列。 - `.size` 返回数组元素的总数量。 4. **数组运算** - 基本算术运算:`+`, `-`, `*`, `/`, `**` 可以直接对数组执行。 - 三角函数:`numpy.sin(array)`, `numpy.cos(array)`, `numpy.tan(array)` 对数组中的每个元素应用相应的三角函数。 - 矩阵乘法:使用`@`或`numpy.dot()`进行矩阵乘法。 5. **逻辑运算** - 比较运算:`array < number` 或 `array == number` 生成布尔数组,表示数组元素是否小于或等于给定的数。 - `numpy.array.all()` 和 `numpy.array.any()` 分别检查数组所有元素是否都为真或至少有一个为真。 - `numpy.where()` 根据条件返回数组元素的索引或替换值。 - 三元运算符:在Python中,可以使用`numpy.where(condition, x, y)`实现类似C/C++中的三元运算符。 6. **统计运算** - `numpy.array.sum()` 计算数组元素的总和。 - `numpy.array.min()` 和 `numpy.array.max()` 返回数组中的最小值和最大值。 - `numpy.argmin(array)` 和 `numpy.argmax(array)` 返回数组中最小值和最大值的索引。 - `numpy.mean(array)` 计算数组元素的平均值。 - `numpy.average(array)` 计算加权平均值,可接受权重参数。 - `numpy.median(array)` 计算中位数。 - `numpy.cumsum(array)` 计算数组元素的累计和。 - `numpy.diff(array)` 计算数组元素的差分。 - `numpy.nonzero(array)` 返回数组中非零元素的索引。 - `numpy.sort(array)` 对数组进行升序排序。 7. **数组操作** - **转置**:`numpy.ndarray.T` 或 `numpy.transpose(array)` 可以得到数组的转置。 - **索引**:一维数组的索引与Python列表相似,而二维数组支持切片和多索引。 - **遍历**:可以使用for循环遍历数组的所有元素,或者使用`.flatten()`或`.flat`迭代器。 - **轴操作**:`numpy.axis` 在数组操作中用于指定沿哪个轴进行操作,例如`axis=0`表示按行,`axis=1`表示按列。 8. **数组合并与分割** - **合并**: - `numpy.vstack((array1, array2))` 沿垂直方向堆叠数组。 - `numpy.hstack((array1, array2))` 沿水平方向堆叠数组。 - `numpy.concatenate((array1, array2), axis)` 指定轴方向上连接数组。 - **分割**: - `numpy.split(array, n, axis)` 将数组沿着指定轴分为n个部分。 - `numpy.array_split(array, n, axis)` 类似于`split`,但保证每个部分尽可能均匀。 - `numpy.hsplit(array, n)` 沿水平方向分割数组。 - `numpy.vsplit(array, n)` 沿垂直方向分割数组。 9. **文件读写** - NumPy提供了便捷的文件读写功能,例如`numpy.save()`用于保存数组到二进制文件,`numpy.load()`用于加载文件到数组。 NumPy是Python中处理多维数据的重要工具,提供了丰富的数学函数和数据结构,极大地提高了科学计算的效率和便利性。掌握NumPy的使用对于任何进行数据分析、机器学习或科学计算的Python程序员来说都是至关重要的。
- 粉丝: 6
- 资源: 892
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 适用于 Python 的 LINE 消息 API SDK.zip
- 适用于 Python 的 AWS 开发工具包.zip
- 适用于 Python 3 的 Django LDAP 用户身份验证后端 .zip
- 基于PBL-CDIO的材料成型及控制工程课程设计实践与改革
- JQuerymobilea4中文手册CHM版最新版本
- 适用于 Python 2 和 3 以及 PyPy (ws4py 0.5.1) 的 WebSocket 客户端和服务器库.zip
- 适用于 AWS 的 Python 无服务器微框架.zip
- 适用于 Apache Cassandra 的 DataStax Python 驱动程序.zip
- WebAPI-案例-年会抽奖.html
- 这里有一些基础问题和一些棘手问题的解答 还有hackerrank,hackerearth,codechef问题的解答 .zip