zoukankan      html  css  js  c++  java
  • 【数据分析&数据挖掘】矩阵的创建

     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))
  • 相关阅读:
    tail命令语法
    正则表达式示例
    HTTP状态码对照表 HTTP response codes
    linux 源的配置更新
    shell基本语法
    谁偷走了程序员的时间??
    Spring Data JPA 简单查询-接口方法
    GET和POST两种基本请求方法的区别
    您是怎样度过人生的低潮期的
    树莓派中Docker部署.Net Core 3.1 (一)
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12115448.html
Copyright © 2011-2022 走看看