python创造矩阵
python的numpy创造矩阵
from numpy import mat
import numpy as np
data1=mat(zeros((3,3))); #创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)
data2=mat(ones((2,4))); #创建一个2*4的1矩阵,默认是浮点型的数据,
data3=mat(random.rand(2,2)); #这里的random模块使用的是numpy中的random模块,random.rand(2,2) 创建的是一个二维数组,
data4=mat(random.randint(10,size=(3,3))); #生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界 则可以多加一个参数
data5=mat(random.randint(2,8,size=(2,5)); #产生一个2-8之间的随机整数矩阵
data6=mat(eye(2,2,dtype=int)); #产生一个2*2的对角矩阵
a1=[1,2,3];
a2=mat(diag(a1)); #生成一个对角线为1、2、3的对角矩阵
手动创造矩阵
count = 1
a = []
for i in range(0, 3):
tmp = []
for j in range(0, 3):
tmp.append(count)
count += 1
a.append(tmp)
print a
结果:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
但是注意一点:初始化(赋值全部为0时),下面是错误的!!
tmp = []
for j in range(0, 3):
tmp.append(0)
a = []
for i in range(0, 3):
a.append(tmp)
print a
结果:[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
原因:这样的列表tmp为同一个,改变任意行,其他行都会给随着改变,千万注意!!,下面正确:
a = []
for i in range(0, 3):
tmp = []
for j in range(0, 3):
tmp.append(0)
a.append(tmp)
print a
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341