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


     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))
  • 相关阅读:
    洛谷P2292 [HNOI2004]L语言
    洛谷P4052 [JSOI2007]文本生成器(AC自动机)
    洛谷P3193 [HNOI2008]GT考试(KMP,矩阵)
    创建目录命令
    ssh免密码登录机器(使用公钥和秘钥进行加密来实现)
    kafka工作原理介绍
    KafKa集群安装、配置
    Kafka的partions和replication-factor参数的理解
    linux之find命令详解
    将用户需求和新型技术输入,优质服务和价值体验输出。
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12115448.html
Copyright © 2020-2023  润新知