前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python创造矩阵

python创造矩阵

作者头像
py3study
发布2020-01-03 14:33:01
2.5K0
发布2020-01-03 14:33:01
举报
文章被收录于专栏:python3python3

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的对角矩阵

手动创造矩阵

代码语言:javascript
复制
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时),下面是错误的!!

复制代码
复制代码
代码语言:javascript
复制
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为同一个,改变任意行,其他行都会给随着改变,千万注意!!,下面正确:

复制代码
复制代码
代码语言:javascript
复制
a = []
for i in range(0, 3):
    tmp = []
    for j in range(0, 3):
        tmp.append(0)
    a.append(tmp)
print a
复制代码
复制代码
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档