一、向量是什么

在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。与向量对应的只有大小,没有方向的量叫做数量(物理学中称标量)

在这里,向量即一维数组,用 arange 函数创建向量是最简单的方式之一:


arange函数也可以指定初始值、终止值和步长来创建一维数组:


向量还能直接对每个元素进行运算:


二、创建向量

上面使用 arange 则是创建向量的一种方式,其实只要是数组创建的函数均可以创建向量,如:

linspace() 函数

前文介绍:linspace 通过制定初始值、终止值和元素个数创建等差数列向量,通过endpoint 参数指定是否包含终止值,默认为True


logspace() 函数

同linspace,创建等比数列,基数通过base参数指定,默认基数为10


zeros() 函数和 ones() 函数

这两个函数分别可以创建指定长度或形状的全0或全1的 ndarray 数组,比如:


指定数据类型:


empty() 函数

这个函数可以创建一个没有任何具体值的 ndarray 数组,例如:


random.randn() 函数

randn 是 numpy.random 中生成正态分布随机数据的函数


fromstring() 函数

从字符串创建数组


上面从字符串创建的数组,定义为整形8bit,创建出来的其实就是字符串的ASCII 码

fromfunction() 函数

从函数创建数组,是数据分析常见的方法

可先定义一个从下标计算数值的函数,然后用fromfunction 创建数组

fromfunction 第一个参数为计算每个数组元素的函数名,第二个参数指定数组的形状。因为它支持多维数组,所以第二个参数必须是一个序列。

例如我创建一个九九乘法表:


注意,fromfunction 函数中的第二个参数指定的是数组的下标,下标作为实参通过遍历的方式传递给函数的形参。