• numpy中一维数组的小知识


    最近在学习numpy模块中的一维数组时,发现如下矛盾:

    下面是我做的小实验:

    import numpy as np
    # 实验一
    A = np.array([[1,2],[3,4],[4,5]])  # 这个是3*2的矩阵
    print(A)
    print(A.shape)
    
    B = np.array([1,2])                # 这个矩阵式什么形状呢,根据矩阵乘法规则,B应该式2*1的矩阵
    print(B)
    print(B.shape)
    
    C = np.dot(A,B)                    # B的形状由它的乘积决定
    print(C)
    
    # 实验二
    X = np.array([1,2])                        # 所以,X是1*2的矩阵
    print(X)
    print(X.shape)
    
    W = np.array([[1,2,3],[4,5,6]])             # W矩阵的形状式唯一确定的2*3
    print(W)
    print(W.shape)
    
    M = np.dot(X,W)                             # 因为X矩阵的形状由该代码所决定
    print(M)
    
    # 通过上面的实验很容易看出,np.array([1,2])一会是行向量,一会是列向量
    
    # 下面我要验证的是当一维向量在左边的时候是行向量,在右边的时候是列向量
    
    row = np.array([1,2,3])
    column = np.array([1,2,3])
    muply = np.dot(row,column)
    print(muply)
    
    # 下面我要验证的是到底右边是不是永远都是列向量
    row1 = np.array([1,2,3])
    column1 = np.array([1,2,3])
    column2 = column1.reshape(-1,1)
    print(column2.shape)
    print(column2)
    H = np.dot(column2,row1)
    print(H)

    结论:当一维数组在乘号的左边时是行向量,反之,是列向量。

  • 相关阅读:
    linux 相关( 随时更新)
    django admin 修改批量操作内容
    区块链
    关于读取excel 和 写excel
    git基本用法
    服务器与本地的控制工具unison
    爬虫框架 Scrapy
    爬虫高性能 asyncio库 twisted库 tornado库
    爬虫请求库之selenium模块
    爬虫请求库
  • 原文地址:https://www.cnblogs.com/mysterygust/p/13194508.html
Copyright © 2020-2023  润新知