用Python进行AI数据分析进阶教程17:NumPy库基础概述
👉 欢迎订阅🔗
《用Python进行AI数据分析进阶教程》专栏
《AI大模型应用实践进阶教程》专栏
《Python编程知识集锦》专栏
《智能辅助驾驶》专栏
《工具软件及IT技术集锦》专栏
关键词:NumPy库、ndarray对象、矢量化操作、多维数组、应用领域。
摘要:NumPy是Python科学计算库,支持高效存储和计算、矢量化操作,提供丰富数学函数,可处理多维数组。其核心数据结构为ndarray,具有shape、dtype、ndim等属性。常用操作包括创建数组、索引切片、数组运算及变形。NumPy广泛应用于科学计算、数据分析、机器学习、深度学习及信号处理等领域,是数据处理与分析的重要工具。
NumPy是Python 的一个重要的科学计算库,以下是对其基础的概述:
1、定义与特点
● 定义:NumPy(Numerical Python)是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
● 特点
● 高效存储和计算:它采用了 C 语言的数组存储方式,在存储和操作大量数据时,比 Python 原生的数据结构(如列表)更加高效,能显著提高计算速度。
● 矢量化操作:允许对数组进行批量操作,无需使用循环,使代码更简洁、易读,同时也提高了执行效率。
● 丰富的数学函数:提供了大量的数学函数,如三角函数、指数函数、对数函数等,方便进行各种数学计算。
● 支持多维数组:可以创建和操作多维数组,方便处理图像、音频、视频等多维数据。
2、主要对象
● ndarray:即 N 维数组对象(N-dimensional array object),是 NumPy 库的核心数据结构。它是一个由相同类型的数据元素组成的多维数组,具有以下重要属性:
● shape:表示数组的形状,即每个维度的大小,返回一个元组。例如,一个二维数组的 shape 可能是 (3, 4),表示有 3 行 4 列。
● dtype:数据类型,描述数组中元素的数据类型,如int32、float64、bool等。
● ndim:数组的维度数量。
3、常用操作
(1)创建数组
● 使用数组字面量:可以直接使用numpy.array()函数将 Python 列表或元组转换为 NumPy 数组。例如,np.array([1, 2, 3, 4])创建一个一维数组。
● 使用特定函数:numpy.zeros()、numpy.ones()、numpy.arange()等函数可以创建特定类型的数组。例如,np.zeros((3, 4))创建一个 3 行 4 列的全零二维数组。
(2)数组索引和切片:
与 Python 列表类似,可以使用索引和切片来访问和修改数组中的元素。对于二维数组,arr[i, j]表示访问第i行第j列的元素,arr[:, 1]表示选取所有行的第二列。
(3)数组运算
● 算术运算:可以对数组进行加、减、乘、除等算术运算,这些运算会在数组的对应元素上进行。例如,两个形状相同的数组相加,对应元素相加得到新的数组。
● 逻辑运算:进行比较和逻辑运算,如arr > 5会返回一个布尔数组,其中大于 5 的元素对应位置为True,否则为False。
(4)数组变形
● reshape:可以使用reshape()方法改变数组的形状,前提是新形状的元素总数与原数组相同。例如,arr.reshape((2, 6))可以将一个一维数组重塑为 2 行 6 列的二维数组。
● transpose:用于转置二维数组,交换行和列。对于二维数组arr,arr.transpose()或arr.T可以得到其转置数组。
4、应用领域
● 科学计算:在物理学、化学、生物学等科学领域,用于处理实验数据、进行数值模拟等。
● 数据分析:是数据分析的重要工具,与 Pandas 等库结合,用于数据清洗、转换和分析。
● 机器学习和深度学习:在机器学习和深度学习中,用于数据预处理、模型训练和评估等。例如,将图像数据转换为 NumPy 数组进行处理,或者存储神经网络的权重和激活值。
● 信号处理:在音频、视频等信号处理领域,用于信号的采样、滤波、变换等操作。
——The END——
🔗 欢迎订阅专栏
序号 | 专栏名称 | 说明 |
---|---|---|
1 | 用Python进行AI数据分析进阶教程 | 《用Python进行AI数据分析进阶教程》专栏 |
2 | AI大模型应用实践进阶教程 | 《AI大模型应用实践进阶教程》专栏 |
3 | Python编程知识集锦 | 《Python编程知识集锦》专栏 |
4 | 智能辅助驾驶 | 《智能辅助驾驶》专栏 |
5 | 工具软件及IT技术集锦 | 《工具软件及IT技术集锦》专栏 |
👉 关注我 @理工男大辉郎 获取实时更新
欢迎关注、收藏或转发。
敬请关注 我的
微信搜索公众号:cnFuJH
CSDN博客:理工男大辉郎