NumPy Ndarray 对象
引言
NumPy 是 Python 中最基础且最重要的科学计算库之一。其中,ndarray对象是 NumPy 的核心,它提供了多维数组的数据结构,极大地简化了科学计算中的数组操作。本文将详细介绍 NumPy 的ndarray对象,包括其创建、属性、操作以及在实际应用中的使用方法。
NumPy ndarray 的创建
在 NumPy 中,可以使用多种方式创建ndarray对象。以下是一些常见的方法:
1. 使用数组函数创建
import numpy as np # 创建一个一维数组 array_1d = np.array([1, 2, 3, 4, 5]) # 创建一个二维数组 array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # 创建一个三维数组 array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])2. 使用 Python 原生列表创建
import numpy as np # 使用 Python 原生列表创建一维数组 array_1d = np.array([1, 2, 3, 4, 5]) # 使用 Python 原生列表创建二维数组 array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # 使用 Python 原生列表创建三维数组 array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])3. 使用函数直接创建
import numpy as np # 使用 zeros 函数创建一个全为零的二维数组 array_zeros = np.zeros((2, 3)) # 使用 ones 函数创建一个全为一的二维数组 array_ones = np.ones((2, 3)) # 使用 full 函数创建一个给定值填充的二维数组 array_full = np.full((2, 3), 7) # 使用 empty 函数创建一个未初始化的二维数组 array_empty = np.empty((2, 3)) # 使用 random 函数创建一个随机值的二维数组 array_random = np.random.random((2, 3)) # 使用 randint 函数创建一个给定范围随机整数的二维数组 array_randint = np.random.randint(1, 10, (2, 3))NumPy ndarray 的属性
ndarray对象具有多种属性,以下是一些常用的属性:
1. shape
shape属性表示数组的维度和大小。例如:
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) print(array_2d.shape) # 输出:(2, 3)2. dtype
dtype属性表示数组中元素的数据类型。例如:
import numpy as np array_int = np.array([1, 2, 3]) print(array_int.dtype) # 输出:int643. size
size属性表示数组中元素的总数。例如:
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) print(array_2d.size) # 输出:6NumPy ndarray 的操作
NumPyndarray对象支持多种操作,包括数学运算、索引、切片、形状变换等。
1. 数学运算
import numpy as np array_1d = np.array([1, 2, 3, 4, 5]) print(array_1d * 2) # 输出:[ 2 4 6 8 10]2. 索引与切片
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(array_2d[0, 1]) # 输出:2 print(array_2d[0:2, 1:3]) # 输出:[[2 3] [5 6]]3. 形状变换
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(array_2d.reshape(3, 1)) # 输出:[[1] [4] [7]]总结
NumPyndarray对象是 NumPy 库中的核心,提供了多维数组的数据结构,极大地简化了科学计算中的数组操作。本文详细介绍了 NumPyndarray的创建、属性、操作以及在实际应用中的使用方法。掌握 NumPyndarray对象,将有助于提高你的科学计算效率。