Python机器学习:numpy的应用之基本操作命令

来源:互联网 发布:网络购物的好处 编辑:程序博客网 时间:2024/05/16 11:58

Python机器学习:numpy的应用之基本操作命令

# -*- coding: utf-8 -*-__author__ = 'gerry'import numpy as np#1.2.3矢量化编程与GPU运算#矢量化编程:# 基于矩阵的算法都是针对向量的,也称为矢量,为了简化的逻辑,需要一种新的编程方法,处理基于运算,这就是所谓的矢量化编程#矢量化编程的一个重要的特点就是可以直接将数学公式转换为相应的程序代码#demo1mylist = [1,2,3,4,5]length = len(mylist)a = 10for index  in xrange(length):    mylist[index] = a+mylist[index]print mylist#demo2mymatrix = np.mat(mylist)print a*mymatrix#1.2.4 理解数学公式与Numpy矩阵运算#-->阵的初始化myZero = np.zeros([3,5]) #全0矩阵print myZeromyOnes = np.ones([3,3]) #全1矩阵print myOnes#*生成随机矩阵myRand = np.random.rand(3,4) #3行4列的0~1之间的随机矩阵print myRand#*单位矩阵myEye = np.eye(3, dtype=np.int32) #单位矩阵print myEye#-->矩阵的元素运算#*元素相加和相减print myOnes+myEye #矩阵相加print myOnes-myEye #矩阵相减#*矩阵的数乘mymatrix1 = np.mat([[1,2,3],[2,3,4],[3,4,5]])a1 = 10print a*mymatrix1#*矩阵所有元素的和mymatrix2 =np.mat([[1,2,3],[2,3,4],[3,4,5]])print np.sum(mymatrix2)#*矩阵各个元素的积:矩阵的点乘同维对应元素的相乘。当矩阵的维度不同时,会根据一定的广播规则将维数扩充到一致的形式mymatrix3 = 1.5*np.ones([3,3])print np.multiply(mymatrix1,mymatrix3)#*矩阵各个元素的n次幂:n=2print np.power(mymatrix1,2)#-->矩阵的乘法:矩阵乘以矩阵mymatrix4 = np.mat([[1],[2],[3]])print mymatrix1*mymatrix4#-->矩阵的转置print mymatrix1.T #矩阵的转置mymatrix1.transpose() #矩阵的转置print mymatrix1#-->矩阵的其他操作:行列数、切片、复制、比较[m,n] = np.shape(mymatrix1) #矩阵的行列数print "矩阵的行列数:",m,nmyscl1 = mymatrix1[0] #按行切片print "按行切片:",myscl1myscl2 = mymatrix1.T[0] #按列切片print "按列切片:",myscl2mycpmat = mymatrix1.copy()#矩阵的复制print "矩阵的复制:\n",mycpmat#比较print "矩阵元素的比较:",mymatrix1<mymatrix2
原创粉丝点击