重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用python的numpy包
成都创新互联自2013年起,先为长海等服务建站,长海等地企业,进行企业商务咨询服务。为长海企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
import numpy as np
a = [[1,2,3,4],[5,6,7,8],[1,2,3,4]]
a = np.array(a)
a[:,1] = 10 - a[:,1]
print a
1.numpy的导入和使用
data1=mat(zeros((
)))
#创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)
data2=mat(ones((
)))
#创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int
data3=mat(random.rand(
))
#这里的random模块使用的是numpy中的random模块,random.rand(2,2)创建的是一个二维数组,需要将其转换成#matrix
data4=mat(random.randint(
10
,size=(
)))
#生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数
data5=mat(random.randint(
,size=(
))
#产生一个2-8之间的随机整数矩阵
data6=mat(eye(
,dtype=
int
))
#产生一个2*2的对角矩阵
a1=[
]; a2=mat(diag(a1))
#生成一个对角线为1、2、3的对角矩阵
如果是图像处理就用PIL库。似乎有这样的算法。
我的想法就是用numpy包中的减法。矩阵相减。
其实用python遍历的速度比你想象的要快。
如果还不够快就C语言写,其中有一个库prex,可以方便的实现python与C的接口,比直接用pyobject要方便很多。
另外你可以用CTYPE中的整型存贮,应该比如直接用python中的int节约空间,速度可能也会快些。
我曾经用PIL结合python写验证码识别的算法,速度快,消耗的时间基本上可以忽略。