3.NumPy ndarray对象
NumPy 定义了一个 n 维数组对象,简称 ndarray 对象,它是一个一系列相同类型元素组成的数组集合。数组中的每个元素都占有大小相同的内存块,您可以使用索引或切片的方式获取数组中的每个元素。
ndarray 对象有一个 dtype 属性,该属性用来描述元素的数据类型,相关知识会在《NumPy数据类型》一节做详细介绍 。
ndarray 对象采用了数组的索引机制,将数组中的每个元素映射到内存块上,并且按照一定的布局对内存块进行排列,常用的布局方式有两种,即按行或者按列。
创建ndarray对象
通过 NumPy 的内置函数 array() 可以创建 ndarray 对象,其语法格式如下:
numpy.array(object, dtype = None, copy = True, order = None,ndmin = 0)
下面表格对其参数做了说明:
序号 | 参数 | 描述说明 |
---|---|---|
1 | object | 表示一个数组序列。 |
2 | dtype | 可选参数,通过它可以更改数组的数据类型。 |
3 | copy | 可选参数,表示数组能否被复制,默认是 True。 |
4 | order | 以哪种内存布局创建数组,有 3 个可选值,分别是 C(行序列)/F(列序列)/A(默认)。 |
5 | ndim | 用于指定数组的维度。 |
创建一维数组:
a=numpy.array([1,2,3])
示例代码:
- import numpy
- a=numpy.array([1,2,3])#使用列表构建一维数组
- print(a)
- [1 2 3]
- print(type(a))
- #ndarray数组类型
- <class 'numpy.ndarray'>
创建多维数组:
b=numpy.array([[1,2,3],[4,5,6]])
示例代码:
- b=numpy.array([[1,2,3],[4,5,6]])
- print(b)
- [[1 2 3]
- [4 5 6]]
如果要改变数组元素的数据类型,可以使用通过设置 dtype,如下所示:
c=numpy.array([2,4,6,8],dtype="数据类型名称")
现在将 c 数组中的元素类型变成了复数类型:
- c=numpy.array([2,4,6,8],dtype="complex")
- print(c)
- [2.+0.j 4.+0.j 6.+0.j 8.+0.j]
array() 是创建 ndarray 对象的基本方法,在后续内容中还会介绍其他方法。
ndim查看数组维数
通过 ndim 可以查看数组的维度:
- import numpy as np
- arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]])
- print(arr.ndim)
- 2
您也可以使用 ndim 参数创建不同维度的数组:
- #输出一个二维数组
- import numpy as np
- a = np.array([1, 2, 3,4,5], ndim = 2)
- print(a)
输出结果如下:
[[1 2 3 4 5]]
reshape数组变维
数组的形状指的是多维数组的行数和列数。Numpy 模块提供 reshape() 函数可以改变多维数组行数和列数,从而达到数组变维的目的。因此数组变维即对数组形状的重塑,如图1所示:

图1:reshape函数数组变维
reshape() 函数可以接受一个元组作为参数,用于指定了新数组的行数和列数,示例如下:
- import numpy as np
- e = np.array([[1,2],[3,4],[5,6]])
- print("原数组",e)
- e=e.reshape(2,3)
- print("新数组",e)
输出如下:
原数组 [[1 2]
[3 4]
[5 6]]
新数组 [[1 2 3]
[4 5 6]]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异