Python中Numpy矩阵的使用

Python中Numpy矩阵的使用

本文主讲Python中Numpy矩阵的类型、全0全1矩阵的生成、随机矩阵、矩阵的深入程度、矩阵的简单运算、矩阵的数学运算。

**#encoding=utf-8**  
import numpy as np
def main():
    lst = [[1,3,5],[2,4,6]]
    print(type(lst)) 
    np_lst=np.array(lst)                 #矩阵

矩阵类型

print(type(np_lst))
np_lst=np.array(lst,dtype=np.float)     #bool,int,int8,int16,int32,int64,int128,uint8,uint16,float,float16
print(np_lst.dtype)  #数据类型
print(np_lst.shape)  #数据维数 2行3print(np_lst.ndim)   #维度 2
print(np_lst.size)  #6个字节

全0、全1矩阵

print(np.zeros([2,4])) #2行4列的全0矩阵
print(np.ones([2,4]))  #2行4列的全1矩阵

随机矩阵:

print("rand:")
print(np.random.rand(2,4)) #打印随机数2行4列
print("randint:")
print(np.random.randint(1,10,3)) #打印1-10中3个整数随机数
print("rantn:")
print(np.random.randn(2,4)) #正态分布随机数
print(np.random.choice([10,20,30]))  #随机选择
print(np.random.beta(1,10,100)) #贝塔分布      print(np.arange(1,11).reshape([2,5]))
lst=np.arange(1,11).reshape([2,5])

深入程度

print(np.exp(lst)) #打印指数   
lst=np.array([[[1,2,3,4],[4,5,6,7]],[[7,8,9,10],[10,11,12,13]],[[14,15,16,17],[18,19,20,21]]])
print(lst)
print(lst.sum(axis=0)) #axis 越大深入程度越大
print(lst.max(axis=0))

矩阵的运算

lst1=np.array([10,20,30,40])    lst2=np.array([4,3,2,1])   
print(lst1+lst2)                        #加减乘除  
print(lst1*lst2)   
print(lst1**2) #平方   
print(np.dot(lst1.reshape([2,2]),lst2.reshape([2,2])))      # 点乘,矩阵运算 
print(np.vstack((lst1,lst2)))                  # v拼接   
print(np.hstack((lst1,lst2)))                  # h拼接   
print(np.split(lst1,2))                   # 分裂  
print(np.copy(lst1))   #拷贝

矩阵的数学运算

from numpy.linalg import *
print(np.eye(3))  # 单位矩阵
lst=np.array([[1,2],[3,4]])
print(inv(lst))   # 矩阵的逆
print(np.transpose(lst))  # 矩阵转置
print(det(lst))  # 求行列式 1*4-2*3=-2
print(eig(lst))  #特征值 特征向量
y=np.array([[5],[7]])
print(solve(lst,y)) # 求解方程式    print("coef:相关系数")
print(np.corrcoef([1,0,1],[0,2,1]))
print("打印方程:")
print(np.poly1d([2,1,3]))
if __name__ == "__main__":
    main()
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值