欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > python 的numpy库数组

python 的numpy库数组

2025/5/5 13:43:25 来源:https://blog.csdn.net/weixin_42795092/article/details/147689083  浏览:    关键词:python 的numpy库数组

NumPy 是 Python 中用于科学计算的基础库,它提供了高效的多维数组对象以及处理这些数组的工具。以下为你详细介绍 NumPy,包括基本概念、常用功能和代码示例。

基本概念

  • ndarray:NumPy 的核心对象是ndarray(N-dimensional array,多维数组),它是一个同构的数据容器,即数组中的所有元素必须是相同的数据类型。ndarray可以是一维、二维或更高维度的数组,通过高效的内存布局和向量化操作,使得 NumPy 在处理大规模数据时具有很高的性能。

常用功能

  1. 数组创建:可以使用多种方式创建ndarray,如从 Python 列表转换、使用内置函数(如zerosonesarange等)创建特定形状和值的数组。
  2. 数组索引和切片:类似于 Python 列表,ndarray支持通过索引和切片来访问和修改数组元素。同时,NumPy 还支持高级索引,如布尔索引和整数数组索引。
  3. 数组运算:支持元素级的算术运算(如加、减、乘、除)、矩阵运算(如矩阵乘法)以及各种数学函数(如三角函数、指数函数等)。这些运算都是基于向量化操作实现的,避免了使用显式的循环,从而提高了运算效率。
  4. 数组操作:包括数组的形状操作(如reshapetranspose)、数组的拼接和分割(如concatenatesplit)等。
  5. 统计分析:提供了许多用于统计分析的函数,如计算均值、中位数、标准差、方差等。

mport numpy as np

# 1. 数组创建
# 从Python列表创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])
# 创建二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
# 创建全零数组
zeros_arr = np.zeros((3, 3))
# 创建全一数组
ones_arr = np.ones((2, 4))
# 创建等差数列
arange_arr = np.arange(0, 10, 2)

# 2. 数组属性
print("arr2的形状:", arr2.shape)
print("arr2的维度:", arr2.ndim)
print("arr2的元素个数:", arr2.size)
print("arr2的数据类型:", arr2.dtype)

# 3. 数组索引和切片
# 访问一维数组元素
print("arr1的第一个元素:", arr1[0])
# 访问二维数组元素
print("arr2的第二行第三列元素:", arr2[1, 2])
# 一维数组切片
print("arr1的前三个元素:", arr1[:3])
# 二维数组切片
print("arr2的第一行所有元素:", arr2[0, :])

# 4. 数组运算
# 元素级加法
arr3 = arr1 + 2
# 元素级乘法
arr4 = arr1 * 3
# 两个数组相加
arr5 = arr1 + np.array([6, 7, 8, 9, 10])
# 矩阵乘法
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
matrix_product = np.dot(matrix1, matrix2)

# 5. 数组操作
# 改变数组形状
reshaped_arr = arr2.reshape(3, 2)
# 数组转置
transposed_arr = arr2.T

# 6. 统计分析
# 计算均值
mean_value = np.mean(arr1)
# 计算标准差
std_value = np.std(arr1)

print("元素级加法结果:", arr3)
print("矩阵乘法结果:", matrix_product)
print("改变形状后的数组:", reshaped_arr)
print("数组的均值:", mean_value)
print("数组的标准差:", std_value)    

代码解释

  1. 数组创建:使用np.array从 Python 列表创建数组,使用np.zerosnp.onesnp.arange等函数创建特定数组。
  2. 数组属性:通过shapendimsizedtype等属性获取数组的形状、维度、元素个数和数据类型。
  3. 数组索引和切片:使用索引和切片操作访问和修改数组元素。
  4. 数组运算:进行元素级的算术运算和矩阵乘法运算。
  5. 数组操作:使用reshape改变数组形状,使用T进行数组转置。
  6. 统计分析:使用np.meannp.std计算数组的均值和标准差。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词