NumPy支持各种索引和切片操作、数组转置和重塑操作、数组拼接和堆叠操作等。这些功能可以使用户方便地对数据进行处理、计算和分析。 基本操作 ndarray 数组与其他数据序列类似,也可以进行索引、切片和迭代。 1. 索引 一维与列表完全一致,多维时同理,这里直接用示例说明。 除了一些基本的索引操作,ndarray 也支持一些不一样的索引方式。 2. 切片 对 ndarray 进行切片操作与一维数组相同,用索引标记切片的起始和终止位置即可。因为 ndarray 可以是多维数组,在进行切片时,通常需要设定每个维度上的切片位置。 一维与列表完全一致,多维时同理。 所有的切片方式都是开区间(左闭右开)。 import numpy as np # 创建一个 4×6 的二维数组 arr = np.random.randint(0, 100, size=(4, 6)) print('arr=\n', arr) # 截取第 2 行到最后一行,第 2 列到第 4 列构成的 ndarray arr1 = arr[1:, 1:4] print('arr1=\n', arr1)
在了解Numpy 基本概念后使用 Numpy,可以很方便地执行数组运算、逻辑运算、傅里叶变换和图形图像操作。Numpy 数组的运算效率优于 Python 的标准 List 类型。而且代码中使用 Numpy 可以省去很多烦琐的处理语句,代码更为简洁。 Numpy 数组属性 1. 常用术语 轴(Axis):每个线性数组称为一个轴,轴即数组的维度(Dimensions)。 秩(Rank):秩描述 Numpy 数组的维数,即轴的数量。 例如:[0, 1, 2] 是一个一维数组,只有一个轴,其秩为 1,轴长度为 3; [[0, 1, 2], [3, 4, 5]]是一个二维数组,数组的秩为 2,具有两个轴,其中第一个轴(维度)的长度为 2,第二个轴(维度)的长度为 3。 在使用的时候可以声明 axis,如果 axis=0,表示按第 0 轴方向操作,即对每列进行操作;如果 axis=1,表示按第 1 轴方向操作,即对每列进行操作。 import numpy as np # 使用 axis 参数设置当前轴 arr = np.array([[0, 1, 2], [3
Numpy 是 Numerical Python 的简称,是高性能计算和数据分析的基础包,是 Python 的一个重要补充库。Numpy 支持高维度数组与矩阵计算,也针对数组运算提供了大量的数学函数库。Numpy 运算效率极好,是大量机器学习框架的基础库。 ndarray 对象 Numpy 中主要包含一个强大的 N 维数组对象 ndarray、整合了 C/C++ 和 FORTRAN 代码的工具包,以及丰富的数学函数库,尤其是实用的线性代数、傅里叶变换和随机数生成的函数。 ndarray 对象是一系列同类型数据的集合下标索引从 0 开始,是一个用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都具有相同大小的存储区域。 1. ndarray 的内部结构 相对于标准的数组,ndarray 本质上是一个数据结构。 ndarray 内部主要由以下内容构成: shape:数组形状,表示数组各维大小的整数元组。 dtype:数据类型,描述数组的类型对象。对象类型为内置的 24 种数组标量类型的一种。 data:数组数据,指向内存中数据的指针。 strides:跨度
计算机编程中,函数是一种独立的代码块用于实现特定的功能,并被设计为可重用的代码。函数是面向过程程序设计的基本单元,它可将程序划分为若干独立的功能模块,利于代码的维护和管理。 常见的一个函数由函数的返回值类型、函数名、参数表、函数体这 4 个部分组成。 1. 函数默认参数 在 C++ 中,函数的形参列表中的形参是可以有默认值的。 语法: 返回值类型 函数名 (参数 = 默认值){} 示例: int func(int a, int b = 10, int c = 10) { return a + b + c; } //1. 如果某个位置参数有默认值,那么从这个位置往后,从左向右,必须都要有默认值 //2. 如果函数声明有默认值,函数实现的时候就不能有默认参数 int func2(int a = 10, int b = 10); int func2(int a, int b) { return a + b; } int main() { cout << "ret = " << func(20, 20) << end
索引结构 MySQL 的索引是在存储引擎层实现的,不同的存储引擎有不同的结构,主要包含一下几种: B+Tree 索引,最常见的索引类型,大部分引擎都支持 B+Tree 索引 Hash 索引,底层数据结构是用哈希表实现的,只有精确匹配索引列的查询才有效,不支持范围查询 R-tree(空间索引) ,空间索引是 MyISAM 引擎的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少 Full-text(全文索引) ,是一种通过建立倒排索引,快速匹配文档的方式。类似于 Lucene,Solr,Es 函数 InnoDB MyISAM Memory B+tree索引 支持 支持 支持 Hash索引 不支持 不支持 支持 R-tree索引 不支持 支持 不支持 Full-text 5.6版本后支持 支持 不支持 1. 索引结构 - B+tree 二叉树 二叉树缺点:顺序插入时,会形成一个链表,查询性能大大降低。大数据量情况下,层级较深,检索速度慢。 红黑树:大数据量情况下,层级较深,检索速度慢。 B-Tree(多路平衡查找树) 以一颗最大度数
A_Sun
山不让尘,川不辞盈
本网站由 提供CDN加速/云存储服务
鄂ICP备2023005457号 鄂公网安备 42011302000815号