数组尽管很灵活,但使用起来还是很多不方便。为此,C++ 语言定义了扩展的“抽象数据类型”(Abstract Data Type,ADT),放在“标准库”中。 对数组功能进行扩展的一个标准库类型,就是“容器” vector。顾名思义,vector “容纳”着一堆数据对象,其实就是一组类型相同的数据对象的集合。 头文件和命名空间 vector 是标准库的一部分。要想使用 vector,必须在程序中包含 <vector> 头文件,并使用std 命名空间。 # include<vector> using namespace std; 在 vector 头文件中,对 vector 这种类型做了定义;使用 #includ 引入它之后,并指定命名空间 std 之后,我们就可以在代码中直接使用 vector 了。 vector 的基本使用 vector 其实是 C++ 中的一个“类模板”,是用来创建类的“模子”。所以在使用时还必须提供具体的类型信息,也就是说,这个容器中到底要容纳什么类型的数据对象;具体的形式是在 vector 后面跟一个尖括号 <&
需要完成一件小工作时,在本地环境中使用这个函数,可以让工作如此得心应手,它就是 Lambda 函数。Lambda 函数是 Python 中的匿名函数。有些人将它们简称为lambdas,它的语法如下: lambda arguments: expression lambda 关键字可以用来创建一个 lambda 函数,紧跟其后的是参数列表和用冒号分割开的单个表达式。例如: lambda x: 2 * x # 将任何输入的数乘2 lambda x, y: x + y # 计算两个数字的和 本文旨在提供有关如何正确使用 lambda 函数的一些常规准则。 1. 不带返回任何值 我们在 lambda 函数中并没有返回任何内容。这都是因为 lambda 函数只能包含一个表达式。然而,使用 return 关键字会构成不符合规定语法的语句,如下所示: >>> integers = [(3, -3), (2, 3), (5, 1), (-4, 4)] >>> sorted(integers, key=lambda x: x[-1]) [(3,
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:跨度
Justin_Wu
山不让尘,川不辞盈
本网站由 提供CDN加速/云存储服务
鄂ICP备2023005457号 鄂公网安备 42011302000815号
欢迎来自 * · * 的用户