这一篇纪录了numpy 自身可处理的数据到底长什么样。
numpy里最为常见的数据块类型是 ndarray, 在其它API框架里也有叫tensor的, 例如Tensorflow, pyTorch等。术语tensor虽不是numpy 的概念,但我也一并放在下图中了,作为于其它API库的对比。
ndarray 可以理解为是一种可变形的数据块。用它可以表现许多概念数据,比如向量,矩阵等。
对于3维以及更高维度的数据块, 可以用两种思考方式,一种是用几何的方式去思考它们,但有个限制,超过3个维度就很抽象了,不太直观,对于API的处理高纬度数据的方式就不太好理解,另外一种是我们还可以用树状层的方式去看待更高的维度。如下图中对3D数据的想象。
除了上图所表现的ndarray类型,在数据块的内部,每个小数据也都有自己的数据类型,不同于Python的List,numpy的多维数组里的元素的类型是要统一的,当然也不同于python的默认数值类型,numpy主要是面向科学计算领域,所以需要更多更短小精悍的数据类型。
上图并没有包括所有的数据类型,比如str__ , unicode__,有意者请直接去往numpy网站查找相关的信息.
numpy上还有python的数据类型, 比如 nupmy.int其实就是 python里的 int.
上图的数据类型的颜色有标错地方,自己注意一下