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学习(一)

1.1 numpy

????????NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

????????num - numerical 数值化的

????????py - python

1.1.1 numpy优势

????????Python的一个科学计算库,用于快速处理任意维度的数组。常用于数组和矩阵操作。

????????ndarray(下文中的array均为ndarray)

????????????????n - 任意个

????????????????d - dimension 维度

????????????????array - 数组

????????与List对比

????????1)numpy的计算速度和效率比List高效

????????2)存储方式不同

????????????????ndarray - 相同类型 - 通用性不强

????????????????List - 不同类型 - 通用性强

????????3)ndarray支持向量化运算

????????4)底层语言

????????????????C语言,解除了GIL(全局解释器锁),效率高

1.1.2 ndarray的属性

? ? ? ? np.shape 数组维度的元组

????????np.ndim 数组维度

? ? ? ? np.size 数组中的元素数量 ?

? ? ? ? np.itemsize 一个数组元素的长度(字节)

? ? ? ? np.dtype 数组元素的类型(默认为int64)

1.1.3 数组的创建

????????Import numpy as np

????????X = np.array([],dtype=”float32”(或者dtype=np.float32))

????????1)生成0和1数组

????????????????np.zeros(shape=(a,b),dtpye=np.float32)

????????????????np.ones(shape=(a,b),dtpye=np.float32)

????????2)从现有数组生成

????????????????np.array()

????????????????np.asarray()? 浅拷贝

????????????????np.copy(array) ?深拷贝,跟随array一起变化,其他两个不变

????????3)生成固定范围的数组(切片)

????????????????np.linspace(a,b,c)

????????????????????????[a,b] 为区间,元素之间为等距离,c为个数

????????????????np.arange(a,b,c)

??????????????????.range(a,b,c)

????????????????????????[a,b) 为区间,c是步长

????????4)生成随机数组

????????????????均匀分布:np.random.uniform(low=a,high=b,size=None)

????????????????????????a最小值,b最大值,c个数

????????????????正态分布:np.random.normal(loc=a,scale=b,size=None)

????????????????????????loc:float 此概率的均值

????????????????????????scale:float 标准差

????????????????????????size:输出的数量,默认为None

1.1.4 数组的索引、切片

????????例如:array[a,b:c] ??数组中a行中第b+1列到c+1列的元素

1.1.5 数组的形状修改

????????array.reshape(shape) ??返回新的array,原始值不变

????????????????.resize(shape) ??没有返回值,原始值变了

????????????????.T ??转置

1.1.6 类型修改

????????array.astype(dtype) 例如:.astype(“int32”) ?序列化到本地

????????.tostring() ?转换为bytes

????????注意:在jupyter中会由于输出过长无法显示出来

1.1.7数组去重

????????np.unique(array) ?去掉数组内重复的元素

????????set(array.flatten())

1.1.8 ndarray运算

????????逻辑运算

????????????????array > a ??数组中大于a的元素变为True,否则为false

????????????????array(array > a) ????只展示大于a的元素

????????????????array(array > a) = 1 ????大于a的元素都会变为1,其余不变

????????通用判断函数:

????????????????np.all(布尔值) ?例:np.all(array(a:b,c:d) > 0)???有一个为False就返回false

????????????????np.any(布尔值) ??有一个为True就返回True

????????三元运算符

????????np.where(array > 0,1,0) ??在数组中大于0的元素置为1,否则置为0

????????np.logical_and(array>a,array<b) ?都满足为true,否则为false

????????np.logical_or(array>a,array<b) ?满足其一就为true,否则为false

????????复合使用:np.where(np.logical_or(array>a,array<b),1,0)

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

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/11 0:42:20-

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