#24,sorted排序
ll=[8,0,3,6,1,0,5,3,8,9]
sorted(ll,reverse=True) #降序
sorted(ll,reverse=False)
--------------------------------------------------------------
#25,linalg.svd 奇异值分解
A=np.mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])
U,S,VT=np.linalg.svd(A)
U
S
VT
--------------------------------------------------------------
#26,random.rand
A=np.mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])
A[:,1]
rr=np.random.rand(3,3) #随机获取3*3个0-1之间的数字
rr
rr-0.5
2*(rr-0.5)
--------------------------------------------------------------
#27,arange
delta=0.25
x=np.arange(-3.0,3.0,delta) #获取指定起始位置,指定步长的一系列数
x
--------------------------------------------------------------
#28,nonzero()
x=[[1,0,0,0,2],[0,0,3,0,0]]
x
nz=np.nonzero(x)#函数返回矩阵中非0元素的位置
nz #nz返回值的意思:第一行是所有非零数所在行值,第二行是所有非零数所在列值
nz[0]
--------------------------------------------------------------
#29,获取指定位置的元素
A=np.mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])
sample=A[0,:] #获取第0行的所有元素
sample
sample[0]
A=np.mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])
ind=[0,1,3]#根据ind序列索引获取矩阵A中的数据
ing=[0,2,1]
A[ind,ing]
--------------------------------------------------------------
#30,zip
ll=[1,2,3,4,5,6]
ll[3:6]+ll[0:3] #可以互换指定区域的位置
l1=[1,2,3]
l2=[4,5,6]
for x,y in zip(l1,l2): #成对获取x,y的值
print(x,y)
--------------------------------------------------------------
#31,chr函数,获取指定字符
for i in range(65,70):
print(np.str(chr(i)))
--------------------------------------------------------------
#32,random.shuffle
ll=[[i] for i in range(9)]
ll
np.random.shuffle(ll) #shuffle 函数随机打乱列表中的元素顺序
ll
--------------------------------------------------------------
#33,vdotd点积,返回两个向量的点积
ll=[1,2,3]
l2=[4,5,6]
ll=[l1,l2]
np.vdot(l1,l2)
np.dot(l1,l2)
np.mat(l1)*np.mat(l2).T
np.mat(ll)
#vdot和dot的区别
#对于向量来说,他们两个的点积结果是相同的;
#对于矩阵来说,dot是矩阵的点积,而vdot是对应位置的元素乘积求和
--------------------------------------------------------------.
#34,次方的计算
3*2**2 #次方的优先级较高
--------------------------------------------------------------
#35 ,max函数
ll=[3,4,6,2,89,9,3,2]
max(ll)
l2=[[3,4,5,6,3,89,3],[4,6,3,2,92,2,4]]
max(l2[0])
max(l2)
--------------------------------------------------------------
#36,mgrid函数,开始值,结束值,
np.mgrid[-5:5:3j]
np.mgrid[-5:5:3]
np.mgrid[-5:5:3j,-5:5:3j]
np.mgrid[-5:5:3,-5:5:3]
--------------------------------------------------------------
#37,ogrid函数
np.ogrid[-5:5:3j]
np.ogrid[-5:5:3]
np.ogrid[-5:5:3j,-5:5:3j]
np.ogrid[-5:5:3,-5:5:3]
#ogrid和mgrid不同的是一个数据阵,一个的第三个参数如果是实数说明是步长,如果是虚数,ogrid第一各部分产生一列,第二部分产生一行多列
--------------------------------------------------------------
#38,random函数
print(np.random.seed(1))
np.random.uniform(-1,1,5)
np.random.random()
np.random.random(5)
np.random.rand(2,3)
np.random.randint(5,10)
np.random.randint(5,10,size=(5,5))
--------------------------------------------------------------
#39,tofile,fromfile
a=np.arange(0,12)
a.shape=3,4
a
a.tofile("a.bin")
b=np.fromfile("a.bin",dtype=np.float)
b
a.dtype
b=np.fromfile("a.bin",dtype=np.int32)
b
b.shape=3,4
b
#Note:(1) 读入的时候设置正确的dtype和shape 才能保证数据一致,并且tofile函数不管数组
# 的排列顺序是c语言格式的韩式Fortran语言格式,统一c语言输出。
#(2)sep关键字参数:此外如果fromfile和tofile指定sep关键字参数的话,数组
# 将以文本格式输入输出[可以使用notepad++]打开查看,不过数据是一行显示
--------------------------------------------------------------
#40,numpy.load 和numpy.save
a=np.arange(12)
b=np.add.accumulate(a)
c=a+b
f=open("result.npy","wb")
np.save(f,a)
np.save(f,b)
np.save(f,c)
f.close()
f=open("result.npy","rb")
np.load(f)
np.load(f)
np.load(f)
#Note ;(1)文件要保存为.npy文件类型,否则会出错
#(2)保存为numpy专用二进制格式后,就不能用notepad++打开(乱码)看了,
# 如果你想将多个数组保存在一个文件中的话,可以使用numpy.saves函数,该
# 函数的第一个参数是文件名,其后面都是需要保存的数组,也可以使用关键词
#起一个名字,非关键词参数在传递数组时会自动起名为arr_0、arr_1、arr_2、
#输出的是以个压缩文件
a=np.array([[1,2,3],[4,5,6]])
b=np.arange(0,1.0,0.1)
c=np.sin(b)
np.savez("result.npz",a,b,sin_array=c)
r=np.load("result.npz")
r["arr_0"]
r["arr_1"]
r["sin_array"]
--------------------------------------------------------------
#41,permuta tion函数
np.random.permutation(10)
np.random.permutation([1,4,9,12])
arr=np.arange(9).reshape((3,3))
arr
np.random.permutation(arr) #如果是多维数组,混淆一维
--------------------------------------------------------------
#42,complex构造复数
np.complex(0,100)
np.complex(1,-1)
--------------------------------------------------------------
#43,求范数
a=np.array([[complex(1,-1),3],[2,complex(1,1)]])
a
np.linalg.norm(a,ord=2)
np.linalg.norm(a,ord=1)
np.linalg.norm(a,ord=np.inf)
<a href="http://blog.csdn.net/bitcarmanlee/article/details/51945271"> 范数的详细介绍
</a>