IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> numpy之向量化函数 -> 正文阅读

[人工智能]numpy之向量化函数

numpy的一个很大的优点就是通过向量化,大幅提高运算效率,这里介绍一些常用的向量化函数。

一、where函数

numpy.where函数是三元表达式x if condition else y的向量化版本,常用于根据一个数组来生成一个新的数组

假设有两个数值数组和一个布尔值数组:

a = np.array([2, 4, 9, 16])
b = np.array([1, 3, 10, 17])
c = np.array([True, False, False, True])

c中的元素为True时,取a中的元素,否则取b中的元素,那么就可以用numpy.where函数:

r = np.where(c, a, b)
r # 结果:array([ 2,  3, 10, 16])

其中,ab可以为数组或标量。

二、数学和统计方法

许多关于计算整个数组统计值或关于轴向数据的数学函数,可以作为数组类型的方法被调用。像meansum等函数可以接收一个可选参数axis,这个参数可以用于计算给定轴向上的统计值,形成一个下降一维度的数组,即axis=0表示列上的统计值,axis=1表示行上的统计值:

对于下列数组:

a = np.array([[1, 2, 3, 4], [3, 4, 5, 6], [5, 6, 7, 8], [7, 8, 9, 10]])
a # 结果:array([[ 1,  2,  3,  4],
       			 [ 3,  4,  5,  6],
       			 [ 5,  6,  7,  8],
       			 [ 7,  8,  9, 10]])

可计算平均值:

a.mean() # 16个数据的平均值,结果:5.5
a.mean(0) # 每列的平均值,结果:array([4., 5., 6., 7.])
a.mean(1) # 每行的平均值,结果:array([2.5, 4.5, 6.5, 8.5])

在这里插入图片描述

三、布尔值数组的方法

布尔值会被强制为1(True)和0(False),因此,sum通常可以用于计算布尔值数组中的True的个数:

a = np.array([True, False, False, True])
a.sum() # 结果:2

除此之外,对于布尔值数组,还有两个非常有用的方法:anyallany检查数组中是否至少有一个True,而all检查是否每个值都是True

a = np.array([True, False, False, True])
a.any() # 结果:True
a.all() # 结果:False

四、排序

和Python的内建列表类型相似,NumPy数组可以使用sort方法按位置排序:

a = np.array([1, 0, 4, 2])
a.sort()
a # 结果:array([0, 1, 2, 4])

也可以在多维数组中根据传递的axis值,沿着轴向对每个一维数据段进行排序:

a = np.array([[1, 3, 2], [2, 1, 3]])
a # 结果:array([[1, 3, 2],
       			[2, 1, 3]])
       			
a.sort(axis=1) # 按照每一行进行排序
a # 结果:array([[1, 2, 3],
      			 [1, 2, 3]])
     
a.sort(axis=0) # 按照每列进行排序
a # 结果:array([[1, 1, 2],
       			 [2, 3, 3]])

五、集合操作

NumPy包含一些针对一维ndarray的基础集合操作。常用的一个方法是np.unique,返回的是数组中唯一值排序后形成的数组

a = np.array([1, 3, 2, 3, 1, 2])
np.unique(a) # 结果:array([1, 2, 3])

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:41:41  更:2022-04-07 22:44:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:39:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码