线性代数基础-python编程

导入numpy库有三种方式:

from numpy import  #导入numpy所有函数
import numpy      #这种方式使用numpy的函数时,需要numpy.开头
import numpy as np  #使用numpy函数时需要numpy.开头,最为常见

矩阵的创建-直接定义:

import numpy as np
A=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
arr1=np.array(A)  #将列表转为矩阵
print(“A=”,A)
print("通过列表A创建的矩阵arr1\n",arr1)
B=((1,2,3,4),(5,6,7,8),(9,10,11,12))
arr2=np.array(B)
print(“B=”,B)
print("通过元组B创建的矩阵arr2\n",arr2)

矩阵的规模一般用行数和列数描述,可以通过矩阵的shape属性获得,数据类型可以用type函数验证:

#上例A,,B和arr1
print("A的类型:",type(A))
print("arr1的类型:",type(arr1))
print("arr1的大小:",arr1.shape)#3行4列

矩阵创建-间接创建
1,随机生成矩阵元素
机器学习中常会用随机数作为参数,numpy中可以利用np.random.random()函数和np.random.randint()函数分别随机生成矩阵中指定范围的浮点数和整数。
函数np.random.random((d0,d1,…,dn))生成值为[0,1)区间的n为浮点数组,函数np.random.random((d0,d1))创建d0到d1阶矩阵。
函数np.random.randint(low,high=None,dtype=‘T’),返回随机整数,范围为[low,hiigh)。size为数组维度,对于d0*d1阶矩阵设size=[d0,d1]。dtype为数据类型,默认数据类型是没有high时,默认生成随机数的范围是[0,low)。

import numpy as np 
arr1=np.random.random((2,3))
print("创建的随机浮点数构成2*3矩阵:\n",arr1)
arr2=np.random.randint(3,30,size=[2,3])
print("创建3~30(不包括30)之间的随机整数构成的2*3阶矩阵:\n",arr2)

reshape()函数通过改变矩阵大小来创建新矩阵,其参数为一个正整数的元组,分别代表行数和列数。

import numpy as np 
A=[1,2,3,4,5,6]
B=np.array(A)
C1=B.reshape(2,3)
C2=B.reshape(3,2)
print("矩阵B:\n",B)
print("转换为2行3列的矩阵C1\n",C1)
print("转换为3行2列的矩阵C2\n",C2)

使用reshape函数改变矩阵大小时,新矩阵的元数个数要与原矩阵的元素个数相等。当一个参数为-1时,reshape函数会根据另一个参数计算出-1代表的具体值,上例中C1=B.reshape(2,3)可用C1=B.reshape(-1,3)或C1=B.reshape(2,-1)代替。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值