NumPy常用操作

NumPy常用操作

模块:random       作用:生成随机数

random    模块的子函数

random      生成0-1的随机数

uniform 生成均匀分布的随机数

randn      生成标准正态的随机数 ……也可以写作rand

normal      生成正态分布

shuffle     随机打乱顺序

seed        设置随机数种子

 

import numpy as np

对以下程序

np.random.random([3,3])            #生成一个3*3的矩阵

np是包,之后random是模块,最后一个random才是函数

 

np1=np.random.random([3,3])

写数据

np.savetxt(X=np1,fname=’文件路径’)  #X是参数,即要写入文件的数据

读数据

np.loadtxt(‘文件路径’)

 

 

random.choice函数,用于从指定样本中抽取数据

a=np.arange(1,25,dtype=float)

b=random.choice(a,size(3,4),replace=False)

#意思是a是一个由[1,24)生成步长为1的等差数列,b是从a中有条件的抽出数据,放到大小为3*4的矩阵中,其中replace代表条件,replace=False代表不可重复抽取,默认为True.

#replace可以替换成表达式,意味选择的条件,如下

c=random.choice(a,size(3,4),p=a/np.sum(a))

p=a/np.sum(a)即为选择条件

 

 

矩阵的相关操作如下:

a=np.arange(9).reshape([3,3])

a.trace() #a的迹

np.linalg.det(a)     #a的行列式

np.transpose(a)    #a的转置

a.dot(b)              #a·b

 

a=np.random.random([3,3])

np.linalg.solve(a,np.eye(3)) #计算a的逆矩阵,计算方法为Ax=E

 

append合并两个矩阵

a=np.arange(4).reshape(2,2)

b=np.arange(4).reshape(2,2)

np.append(a,b,axis=0) #按行合并,即

c=np.append(a,b,axis=1)  #按列合并,即

若想知道a,b按列合并之后的维度,可以用c.shape表示    #(不加’()’!)

 

 

将矩阵展平

a=np.arange(4).reshape(2,2) 

a.ravel(‘F’)    #矩阵a按行展平

a.ravel()       #矩阵a按列展平

 

NumPy实现不同维数的矩阵加法(广播机制)Broadcast

1 import numpy
2 
3 x=numpy.arange(6).reshape(3,2)
4 y=numpy.arange(2).reshape(1,2)
5 
6 print(x+y)
'''
[[0 2]
 [2 4]
 [4 6]]
''

其中a=[0 1\n2 3\n4 5] b=[0 1],而在实际做加法的时候,b矩阵被扩充为一个3*2的矩阵,并且初始化为[0 1\n0 1\n0 1],因而实现了不同维数的矩阵的加法

posted on 2019-09-08 09:39  rebel3  阅读(165)  评论(0编辑  收藏  举报

导航