• 【数据分析&数据挖掘】矩阵的创建


     1 import numpy as np
     2 
     3 # 矩阵是二维的
     4 # 使用mat  ==  asmatrix 来创建矩阵
     5 #
     6 # # 使用mat 将字符串转化为矩阵
     7 m1 = np.mat("1 2 3;4 5 6;7 8 9")
     8 # np.asmatrix() 等同于 np.mat()
     9 
    10 # 使用mat 将列表嵌套转化为矩阵
    11 m1 = np.mat([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    12 # m1 = np.mat([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]) # 不可以的,不可以将嵌套两层的列表转化为矩阵
    13 
    14 # 使用mat 将数组转化为矩阵
    15 arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    16 # 只要是数组,内部真实的值是二维的,那么就可以转化为矩阵
    17 arr = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]) # 只有含有一个二维数组的三维数组,可以转化为矩阵
    18 # arr = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]],[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]) # 不可以的
    19 arr = np.array([[[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]]) # 只有含有一个二维数组的四维数组,可以转化为矩阵
    20 m1 = np.mat(arr)
    21 print("m1:
    ", m1)
    22 print("m1的类型:
    ", type(m1))
    23 
    24 # 使用matrix 来创建矩阵
    25 # 可以使用matrix 将字符串、列表嵌套、二维数组转化矩阵
    26 # 只要是数组,内部真实的值是二维的,那么就可以转化为矩阵
    27 m1 = np.matrix("1 2 3;4 5 6;7 8 9")
    28 m1 = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    29 # m1 = np.matrix([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]) # 不可以的
    30 arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    31 arr = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]])
    32 arr = np.array([[[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]])
    33 m1 = np.matrix(arr)
    34 print("m1:
    ", m1)
    35 print("m1的类型:
    ", type(m1))
    36 # 直接创建矩阵 可以使用mat  asmatrix  matrix
    37 # mat  和 asmatrix 一样的
    38 # 比 matrix 少了一个copy
    39 # 推荐使用mat 或者asmatrix
    40 
    41 
    42 # 使用bmat  来组合矩阵
    43 l1 = [[1, 2], [2, 1]]
    44 l2 = [[0, 1], [0, 1]]
    45 arr1 = np.array(l1)
    46 arr2 = np.array(l2)
    47 print("arr1:
    ", arr1)
    48 print("arr2:
    ", arr2)
    49 
    50 # 使用bmat ---可以数组的字符串 或者列表的字符串转化组合矩阵
    51 m2 = np.bmat("arr1 arr2;arr2 arr1")
    52 m2 = np.bmat("l1 l2;l2 l1")
    53 # 使用bmat 可以将数组的列表,或者列表嵌套的形式转化组合矩阵
    54 m2 = np.bmat([[arr1, arr2], [arr2, arr1]])
    55 m2 = np.bmat([[l1, l2], [l2, l1]])
    56 
    57 # # arr = np.array(arr1, arr2)  # 不可以
    58 print("~" * 60)
    59 arr = np.array([[arr1, arr2], [arr2, arr1]])
    60 print(arr)
    61 print(arr.ndim)
    62 # print(arr.shape)
    63 print("~" * 60)
    64 
    65 # m2 = np.bmat(arr)
    66 print("m2:
    ", m2)
    67 print("m2的类型:
    ", type(m2))
  • 相关阅读:
    The three toppaying tech roles in 2022 and the skills you need to land them
    Using serilog with azure application insights and .Net core
    炉石传说 佣兵战纪 奥特兰克山谷
    跑步减肥 不同年龄要有不同配速
    聊聊微软面试 超哥的地盘
    风暴英雄上传录像举报
    Node.js Express 框架 规格严格
    redis查询key的数量 规格严格
    MySQL DATE_FORMAT() 函数 规格严格
    fastjson/jackson 转 json Boolean布尔类型 is丢失问题 规格严格
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12115448.html
Copyright © 2020-2023  润新知