前言
最近在看pandas的创始人写的一本数据分析,在其中使用numpy建立多维数组的时候提到了很多有关数组的维度和轴的一些相关的知识,而刚开始阅读的时候由于对这部分有些理解不到位,导致后面理解数组转换的时候出现了很多坑爹问题。所以特此写几个简单的实例分析一下。小伙伴们也可以一起瞅瞅,看看能不能加深一下印象。
维度
在数学上我们说维度是什么呢?–在一定的前提下描述一个数学对象所需的参数个数。但是我们今天所谈到的维度却和这里数学所说的维度有着一些区别。有标题可知,我们今天所要说的维度是基于numpy中的多维数组。numpy最重要的一个特点就是其N维数组对象,该对象是一个大的灵活的大数据集容器。以此利用数组来对我们获取到的整块的数据执行一些数学上的运算。绕了一圈,维度又是啥,我们先来看一下以下的代码。
> data = np.array([[1,2],[4,5]])
> data.shape()
(2L, 2L)
> data1 = np.array([[1,2,3],[4,5,6],[7,8,9]])
> data1.shape
(3L, 3L)
对人来说高维空间是很难想象的,但是我们可以从纯数学的角度来看。对多维数组来说,确定最底层的一个基本元素位置需要用到的索引个数即是维度。用上面的数组data来举一个简单的例子。当我们要获取 1 的值,我们需要使用 a[0][0], 一共用到了两个坐标索引,所以这个数组的维度是2维。