Python NumPy数组(numpy.array)详解与操作指南
numpy.array(通常简称为 np.array)是Python中的一个多维数组对象,由NumPy库提供,主要用于数值计算和数据分析。np.array 提供了比Python内置的列表更高效的存储方式和更丰富的数学运算功能,尤其在处理大型数据集和多维数据时表现突出。
创建 np.array
创建数组的常见方法:
import numpy as np
# 1. 从列表或元组创建
a = np.array([1, 2, 3, 4])
print(a) # 输出:[1 2 3 4]
# 2. 创建多维数组
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
# 输出:
# [[1 2 3]
# [4 5 6]]
# 3. 使用特定的函数创建数组,如全0、全1或随机数组
zeros_array = np.zeros((3, 3)) # 3x3全0矩阵
ones_array = np.ones((2, 2)) # 2x2全1矩阵
rand_array = np.random.rand(2, 3) # 2x3的随机数矩阵
常用属性
ndim:返回数组的维数
shape:返回数组的形状(每一维的大小)
size:返回数组的总元素数
dtype :返回数组的元素数据类型
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.ndim) # 输出:2,表示二维数组
print(a.shape) # 输出:(2, 3),表示2行3列
print(a.size) # 输出:6,表示总共6个元素
print(a.dtype) # 输出:int64(根据平台不同,可能会显示不同的整型类型)
数组运算
np.array 支持大量的数学运算和向量化操作,可以对数组进行加、减、乘、除等操作:
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
# 数组相加
print(x + y) # 输出:[5 7 9]
# 数组相乘(逐元素)
print(x * y) # 输出:[4 10 18]
# 数组标量运算
print(x * 2) # 输出:[2 4 6]
切片与索引
类似于Python列表,可以对 np.array 进行切片和索引,支持多维操作。
a = np.array([[1, 2, 3], [4, 5, 6]])
# 获取单个元素
print(a[0, 1]) # 输出:2
# 切片操作
print(a[:, 1]) # 输出:数组的第2列:[2 5]
print(a[1, :]) # 输出:数组的第2行:[4 5 6]
主要优点
效率高:np.array 在存储和计算上更高效,尤其适用于大规模数据。
多维支持:支持多维数组,可以方便地表示矩阵和张量等数据结构。
丰富的数学运算:NumPy 提供了丰富的数学和统计函数,方便快速处理和分析数据。
np.array 是科学计算和数据分析的基础工具,是Python中处理数值数据的核心。
作者:航哥的女人