Numpy数组
Numpy是Python家族中数值计算、科学计算的基础,是很多使用工具包实现的基础。Numpy提供向量与矩阵运算有助于优化量化分析算法性能。
资料途径:
Numpy官方文档
Numpy简介
NumPy是Python中科学计算的基本包。它是一个Python库,提供了一个多维数组对象,各种派生对象(如屏蔽数组和矩阵),以及对数组进行快速操作的各种例程,包括数学、逻辑、形状操作、排序、选择、I/O、离散傅立叶变换、基本线性代数、基本统计操作、随机模拟等等。
NumPy包的核心是ndarray对象。它封装了同质数据类型的n维数组,为了提高性能,许多操作都在编译后的代码中进行。NumPy数组和标准Python序列的不同之处包括:
- NumPy数组在创建时有一个固定的大小,不像Python列表(可以动态地增长)。改变一个ndarray的大小将创建一个新的数组并删除原来的数组。
- NumPy数组中的元素都被要求是相同的数据类型,因此在内存中的大小也是相同的。例外的情况是:可以有(Python,包括NumPy)对象的数组,从而允许不同大小的元素的数组。
- NumPy数组便于对大量数据进行高级数学和其他类型的操作。通常情况下,与使用Python的内置序列相比,这种操作的执行效率更高,代码更少。
- NumPy(Numerical Python 的简称)提供了高效存储和操作密集数据缓存的接口。在某些方面,NumPy 数组与Python 内置的列表类型非常相似。但是随着数组在维度上变大,NumPy数组提供了更加高效的存储和数据操作。
1. 创建数组
首先,可以用 np.array 从 Python 列表创建数组:
请记住,不同于 Python 列表,NumPy 要求数组必须包含同一类型的数 据。如果类型不匹配,NumPy 将会向上转换(如果可行)。这里整型 被转换为浮点型:
如果希望明确设置数组的数据类型,可以用 dtype 关键字:
不同于 Python 列表,NumPy 数组可以被指定为多维的。以下是 用列表的列表初始化多维数组的一种方法,即嵌套列表构成的多维数组:
array 将序列之序列转换成二维数组
面对大型数组的时候,用 NumPy 内置的方法从头创建数组是一种更高 效的方法。以下是几个示例:
np.zeros
:创建一个长度为10的数组,数组的值都是np.ones
:创建一个3×5的浮点型数组,数组的值都是1np.full
:创建一个3×5的浮点型数组,数组的值都是3.14np.arange
:从0开始,到20结束,步长为2,它和内置的range()函数类似np.eye
:创建一个3×3的单位矩阵np.empty
:创建一个由3个整型数组成的未初始化的数组,数组的值是内存空间中的任意值
np.linspace
创建一个5个元素的数组,这5个数均匀地分配到0~1np.random.random
创建一个3×3的、在0~1均匀分布的随机数组成的数组np.random.normal
创建一个3×3的、均值为0、方差为1的正态分布的随机数数组np.random.randint
创建一个3×3的、[0, 10)区间的随机整型数组
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)