第一行函数genfromtxt读取数据,第一个参数为文件名,该文件最好与代码放在一个文件夹下,否则要写出路径,第二个参数为分隔符,该txt文件里分隔符为“,”所以参数为“,”,第三个参数为文件内内容的类型,若为混合类型,先以str读取。
第二行打印该内容的类型,numpy里类型都为ndarray,就是矩阵。
第三行直接打印出该内容,以ndarray形式呈现,也就是矩阵。
第四行,当我们不知道一个函数咋用,就打印出该函数的帮助文档。
第一行赋值一个矩阵给vector,里面的参数为列表(list)形式,
第三行为二维矩阵。
shape函数可得到该矩阵为几行几列。
Numpy基础结构array数组里值的类型要一样,否则打印出的结果就像上面这样为小数类型、改成其他类型打印出来的结果也是一样的。
函数dtype为打印出该变量的类型。
numpy里数组的下标同C++一样,都是以0开始。
想取出5,10,15这三个数,即下标为0,1,2,在取的时候区间遵守左闭右开,[0:3]只取了下标为0,1,2的值。
[:,1]表示取所有行第一列。
[:,0:2]表示取所有行第零一列。
[1:3,0:2]表示取第一二行,第零一列。
相当于一个判断,最终返回下标的bool值。
多行多列的也是一样。
这个相当于将bool值当成下标返回原数组,当是下标是true时便返回该值。
多行多列的也是一样。
Numpy矩阵基础&表示要满足&两边的条件,在上图就表示为既要等于10又要等于5.。
|表示只要满足|两边的条件其中一个即可,在上图就表示为等于10或5即可.。
上述操作为转换类型。astype函数:转换类型。
查看最小值,最大值同理。
上述操作为求和。其中axis=1为按行求和,=0为按列求和。
Numpy常用函数arange函数表示生成数,以0起始。
reshape函数转换成几行几列的矩阵。
shape函数查看是几行几列的。
ndim函数查看是几维的。
dtype函数查看什么类型。
size函数查看有多少个元素。
zeros函数生成几行几列的矩阵,矩阵元素全部为0,默认为小数。
ones函数同理,生成了一个三维的矩阵,并定义了类型为整数。
arange(10,30,5) 遵循左闭右开,表示生成10到30的数,步长为5。
下面小数同理。
np.random.random((2,3))表示生成2行3列的随机数,区间为-1到1。
表示生成100个0到2*pi的数。
加减乘方的相关操作,具体看结果。
直接A*B为点对点的乘法,而.dot()为正常的矩阵相乘,如上图有两种写法。
矩阵常用操作exp()函数:e的多少次方。
sqrt()函数:开根号。
先随机生成在区间-1到1间的3行4列的矩阵,再*10,floor()函数为向下取整。
ravel()函数为将矩阵转换为向量。
shape函数又转换为6行2列的矩阵。
(a,T)为转置矩阵。
reshap(3,-1):在转化矩阵时,可以只写行,另一个参数写-1就行,系统因为你给定了行,列也就自动求出来了。
hstack()函数将两个矩阵横向拼接。
vstack()函数将两个矩阵纵向拼接。
hsplit(a,3)第一个参数为待切割的变量,第二个为切割成几份,按行切割
hsplit(a,(3,4))第二个参数为元组,表示切前三列,第四列单独切,第四列之后的又为一份,详看结果。
vsplit(a,3)第一个参数为待切割的变量,第二个为切割成几份,按列切割。
不同复制操作对比两个变量直接赋值 之后对一个操作之后另一个也会改变,从他们的地址可以看出。
用view()函数赋值,虽然地址不一样,但地址所指向的值是一样的。
copy()函数既改变了地址,又改变了值。
argmax()函数,找矩阵的最大值的索引,axis=0代表按列查找。
tile()函数:第二参数为要生成的行列,生成的每个值为第一参数。
sort()按行升序排序。
argsort()升序排序后的索引。



