什么是多维数组?
核心对象是同型的多维数组(简单理解就是一个表格,通常内容都是些数字),具有相同的数据类型。
概念:
1. axes(轴):数组的维度统称为轴。
2. rank:轴的数量称为rank。
举例:一维数组[1,2,1],就是一个rank为1的数组,因为它只有一个轴(一维)。下图显示的是一个rank为2(二维)的数组。它的第一个轴(维)的长度是2,如红色线框所示;第二个轴(维)的长度是3,如蓝色线框所示。这个有点像数据结构里说的:数组的元素本身也可以是数组类型一样,无限扩展下去。
数组维度的判别方法:根据括号数量判断,如下
由外而内一共有三层括号,所以他是一个三维的数组。依次为(2,3,3)
[[
[1,2,3],[4,5,6],[7,8,9]],
[[11,12,12],[13,14,15],[16,17,18]
]]
Numpy里的多维数组:ndarray
Numpy的数组类numpy.array一般称呼为ndarray,这么叫主要是为了和Python的数组类array.array区分开来。后面的文章里,如无特殊说明的地方,array和ndarray均是指的numpy.array。
ndarray(numpy.array)的主要属性:
ndim:数组的轴数(维度)
shape:python的元组类型,其中每个数字分别表示的是各个轴(维)上数组的长度
size:多维数组里全部元素的总数(等于shape元组里所有数值的乘积)
dtype:多维数组里元素的类型。同一个多维数组里所有的元素都是同一种类型
itemsize:多维数组元素所占的字节。
代码示例:
import numpy as np
a=np.array([[4,5,6],[1,2,3]])
print(a.size)#6
print(a.shape)#(2,3)
print(a.dtype)#int
print(a.ndim)#2
print(a.itemsize)#4
输出:
6
(2, 3)
int32
2
4