用python中的numpy包的时候不小心踩了array和matrix的大坑,又引申一下比较list array matrix之间的异同。
数据结构(Data Structures)基本上人如其名——它们只是一种结构,能够将一些数据聚合在一起。换句话说,它们是用来存储一系列相关数据的集合。Python 中有四种内置的数据结构——列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。

1、list

list可以明显和array、matrix区分,list通过[ ]申明,支持append extend等方法,没有shape方法。 
使用如下: 
data=[] 
data.append([1,2]) 
data.extend(2) 
list形如:[[1,2,3],[4,5,6],[7,8,9]] 、 [1,2,3,4,5]等

2 array matrix

list变成array: np.array(list) 
list变为matrxi:np.mat(list) 
array和matrix相互转换: np.asmatrix np.asarray 
array变换为list: data.toList() 
这两兄弟都有shape属性,但是他俩的区别是啥呢。 
matrix是array的子集,matrix只能是2维的,array可以是n维的。 
2维就是matrix的shape只有行、列属性,就类似线性代数中的矩阵; 
比如说3维的array如同: 

下面就来比较array好matrix计算区别: 
乘法符号 *:array的乘法符号就是对应元素相乘,比如: 
 
如果行列数不匹配会自动补全,就是numpy的“广播”功能。具体怎么补全自己动手试,讲了也记不住。 
matrix的 * 符号就是:矩阵乘法:线性代数中的乘法,比如五行三列*三行两列就会得到五行两列: 
 
matrix想要得到矩阵*这种效果(就是矩阵相同位置的数字进行相乘):使用np.multiply(mat1,mat2) 
array想要进行矩阵乘法使用:np.dot(array1,array2) 
所以martirx和array中 **符号得到的结果也是不一样的。

版权声明:本文为博主原创文章,转载注明出处即可。 https://blog.csdn.net/u011730199/article/details/78202016

numpy中list array matrix比较的更多相关文章

  1. numpy中np.array()与np.asarray的区别以及.tolist

    array 和 asarray 都可以将 结构数据 转化为 ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会. 1.输 ...

  2. Python NumPy中数组array.min(0)返回数组

    如果没有参数min()返回一个标量,如果有参数0表示沿着列,1表示沿着行.

  3. numpy中的matrix与array的区别

    Numpy matrices必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array ...

  4. numpy中array数组对象的储存方式(n,1)和(n,)的区别

    资料:https://stackoverflow.com/questions/22053050/difference-between-numpy-array-shape-r-1-and-r 这篇文章是 ...

  5. Python中dataframe\ array\ list相互转化

    import pandas as pd import numpy as np #创建列表 a1=[1,2,3] #arange函数:指定初始值.终值.步长来创建数组 a2=np.arange(0,1, ...

  6. Python与线性代数——Numpy中的matrix()和array()的区别

    Numpy中matrix必须是2维的,但是 numpy中array可以是多维的(1D,2D,3D····ND).matrix是array的一个小的分支,包含于array.所以matrix 拥有arra ...

  7. numpy中matrix的特殊属性

    一.matrix特殊属性解释 numpy中matrix有下列的特殊属性,使得矩阵计算更加容易 摘自 NumPy Reference Release 1.8.1 1.1 The N-dimensiona ...

  8. [转]Numpy中矩阵对象(matrix)

    numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中. class numpy.matr ...

  9. [转]numpy中的matrix矩阵处理

    今天看文档发现numpy并不推荐使用matrix类型.主要是因为array才是numpy的标准类型,并且基本上各种函数都有队array类型的处理,而matrix只是一部分支持而已. 这个转载还是先放着 ...

随机推荐

  1. activity(工作流)初步学习记录

    1.概念 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个预期 ...

  2. POJ 2155 Matrix【 二维树状数组 】

    题意:给出两种操作,C是给出一个矩形的左上角和左下角的下标,把这个矩形里面的0变成1,1变成0,Q是询问某个点的值 看这篇论文讲得很清楚 http://wenku.baidu.com/view/1e5 ...

  3. 优动漫PAINT-绘制透明布料教程

    原是一篇日语教程,觉得挺不错的,就劳烦会日语的朋友帮忙翻译了,特此分享!希望可以帮助到大家在绘画上的学习!原教程转载优动漫官网. 作者:JaneMere 相关资讯还可以关注www.dongmansof ...

  4. 3ds Max实例教程:制作雪的材质

    导言: 本教程为大家讲解使用3ds MAX制作真实的雪材质制作过程,非常简单的教程,但个人觉得讲解的非常好,希望这套比较老的教程能给你带来帮助. 下面教程开始 雪的材质看似简单,其实它的制做并不是想像 ...

  5. XML文件基础,DTD校验文件编写,Schema文件的简单使用

    dtd <!-- <!ELEMENT 元素(子元素,...)> --> <!ELEMENT students (student+,cat*) > <!ELEM ...

  6. 模拟post提交

    模拟post提交 function post(URL, PARAMS) { var temp = document.createElement("form"); temp.acti ...

  7. angular7升级到angular8

    1.首先我们对:angular的命令的安装 ng install -g @angular/cli的安装则会升级到最新的版本,并且再次创建项目的时候,我们就能够使用ng version查看到已经是最新的 ...

  8. luogu P3795 钟氏映射(递推)

    题意 n<=107 20MB 题解 也就是给n个点,把他们一个分为一组,或两个分为一组,有多少种方法. 空间大点随便做. 我们靠递推. 一个新点,要不自己一组,要不和前面的一个点构成一组. 所以 ...

  9. python3爬取全民K歌

    Python3爬取全民k歌 环境 python3.5 + requests 1.通过歌曲主页链接爬取 首先打开歌曲主页,打开开发者工具(F12). 选择Network,点击播放,会发现有一个请求返回的 ...

  10. [luogu]P4316 绿豆蛙的归宿(拓扑排序,期望)

    P4316 绿豆蛙的归宿 题目背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 题目描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出发能够 ...