一、向量是什么
我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好做网站、成都网站建设服务,我们努力开拓更好的视野,通过不懈的努力,创新互联赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,微信小程序定制开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。
在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(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 函数中的第二个参数指定的是数组的下标,下标作为实参通过遍历的方式传递给函数的形参。
众多python培训视频,尽在python学习网,欢迎在线学习!
numpy中直接用 * 即可表示数与向量的乘法,参考python 2.7的一个例子:
inport numpy as np
a = np.array([1,2,3,4]) # 向量
b = 5 # 数
print a*b
++++++++++++
[5,10,15,20]
my_df是一个二维的结构,如下图所示:
stack函数会把列索引转成行索引,即把列索引换成二级的行索引,即所有列压缩到一列。请注意,这个的空值会跳过,下图中的数据结构只有7个元素,7行1列。
a['b','two']
a['d','two']
#上面两个索引是可以的,下面的是会报错KeyError
a['d','one']
unstack函数会把行索引转成列索引,即把行索引换成二级的列索引,即所有行压缩到一行。注:实际上,Python似乎不分行向量或列向量,如果对一个Series对象进行转置,则还是其本身。根据shape函数的返回可知,这是一个8行1列的数据结构。
stack函数会把二级的行索引转成列索引,恢复其二维结构。
我们看到,用过stack函数后可以用unstack函数来恢复其原貌。反过来如何呢?
会报错:AttributeError: 'Series' object has no attribute 'stack'
我们发现,stack和unstack两个函数的组合,如下所示,只有前两个是可以的没有问题的。这是因为一个二维数据经过stack或unstack后,变成了一个Series结构,而Series有unstack没有stack。
my_df.stack().unstack()
my_df.unstack().unstack()
#my_df.stack().stack()
#my_df.unstack().stack()
a=my_df.stack()
print(type(a))
print(dir(a))
如下图所示,用过了unstack后,怎么恢复原状呢?转置一下即可。
可以用numpy 库
np.mat([[a],[b],[c]])
表示一个3*1 列向量 (a,b,c)^T
Python提供了一种简单而有效的方法来挑选矩阵中的不相邻的列,以组成新的矩阵。首先,需要使用NumPy库中的函数,该函数可以将矩阵中的每一行转换为一个一维数组。然后,可以使用NumPy库中的函数,将一维数组中的每一个元素提取出来,并将它们放入新的矩阵中。
比如,如果有一个3x3的矩阵,可以使用NumPy库中的函数将其转换为一个一维数组,然后使用NumPy库中的函数,将第一个元素提取出来,放入新的矩阵中,然后再提取第三个元素,放入新的矩阵中,以此类推,最终可以得到一个新的矩阵,它包含矩阵中不相邻的列。
此外,还可以使用NumPy库中的函数,将矩阵中的每一行转换为一个一维数组,然后使用NumPy库中的函数,将一维数组中的每一个元素提取出来,并将它们放入新的矩阵中,以此类推,最终可以得到一个新的矩阵,它包含矩阵中不相邻的列。
总之,Python提供了一种简单而有效的方法来挑选矩阵中的不相邻的列,以组成新的矩阵。使用NumPy库中的函数,可以将矩阵中的每一行转换为一个一维数组,然后使用NumPy库中的函数,将一维数组中的每一个元素提取出来,并将它们放入新的矩阵中,最终可以得到一个新的矩阵,它包含矩阵中不相邻的列
可以表示行向量,也可以表示列向量。例如,a=[1,2,3,4]就是行向量,但b=[1;2;3;4]就是列向量