np.array

np.array 是 NumPy 中最基础、最核心的函数之一,用于创建一个 NumPy 数组(ndarray)。下面我们详细讲解它的用法、参数、示例以及常见注意事项。

一、基本语法

numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

参数说明:

参数 说明
object 输入数据,可以是列表、元组、其他数组、生成器等。
dtype 可选,指定数组的数据类型(如 int32, float64 等)。默认自动推断。
copy 默认为 True,表示是否复制输入数据。False 时尽可能避免复制。
order 可选,指定内存布局顺序:'C'(行优先)、'F'(列优先)、'K'(保留原顺序)。
subok 默认为 False,是否允许返回子类。
ndmin 指定数组的最小维度。

二、使用示例

示例 1:从列表创建一维数组

import numpy as np
a = np.array([1, 2, 3, 4])
print(a)

输出:

[1 2 3 4]

示例 2:从嵌套列表创建二维数组

b = np.array([[1, 2], [3, 4]])
print(b)

输出:

[[1 2]
 [3 4]]

示例 3:指定数据类型

c = np.array([1, 2, 3], dtype=float)
print(c)

输出:

[1. 2. 3.]

示例 4:使用 ndmin 指定最小维度

d = np.array([1, 2, 3], ndmin=3)
print(d)

输出:

[[[1 2 3]]]

三、与 Python 列表的区别

特性 Python 列表 NumPy 数组 (ndarray)
数据类型 可以混合类型 必须统一类型
性能 较慢,逐元素操作 快,支持向量化操作
内存占用 较大 较小
多维支持 需要嵌套 原生支持多维数组
数学运算支持 需要循环或 map 直接支持 +, -, *, / 等

四、常见操作示例

1. 查看数组属性

arr = np.array([[1, 2, 3], [4, 5, 6]])
print("数组的维度:", arr.ndim)         # 2
print("数组的形状:", arr.shape)       # (2, 3)
print("数组的大小:", arr.size)        # 6
print("数组的数据类型:", arr.dtype)   # int64

2. 数组切片与索引

arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4])  # 输出 [2 3 4]

3. 数组运算

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)  # [5 7 9]
print(a * 2)  # [2 4 6]

五、注意事项

  1. 数据类型统一:NumPy 数组中所有元素必须是相同类型,否则会自动向上转换(如 int + float → float)。
  2. 内存效率np.array 比 Python 列表更节省内存,尤其适合大数据处理。
  3. 视图 vs 副本:使用 copy=False 时可能返回视图而非副本,修改可能影响原数组。

六、总结

np.array 是 NumPy 的基础,它可以将 Python 列表、元组等转换为高效的 NumPy 数组,支持多维、向量化运算,是科学计算、数据分析、机器学习等领域不可或缺的工具。

posted @ 2025-08-26 15:39  李大嘟嘟  阅读(30)  评论(0)    收藏  举报