Numpy是python科学计算的核心库之一,主要提供了对多维数组的强有力支持。
什么是多维数组?
核心对象是同型的多维数组(简单理解就是一个表格,通常内容都是些数字),具有相同的数据类型。
概念:
1. axes(轴):数组的维度统称为轴。
2. rank:轴的数量称为rank。
举例:一维数组[1,2,1],就是一个rank为1的数组,因为它只有一个轴(一维)。下图显示的是一个rank为2(二维)的数组。它的第一个轴(维)的长度是2,如红色线框所示;第二个轴(维)的长度是3,如蓝色线框所示。这个有点像数据结构里说的:数组的元素本身也可以是数组类型一样,无限扩展下去。
Numpy里的多维数组:ndarray
Numpy的数组类numpy.array
一般称呼为ndarray,这么叫主要是为了和Python的数组类array.array
区分开来。后面的文章里,如无特殊说明的地方,array和ndarray均是指的numpy.array
。
ndarray(numpy.array)的主要属性:
属性 | 说明 |
---|---|
ndim | 数组的轴数(维度) |
shape | shape是一个python的元组类型,其中每个数字分别表示的是各个轴(维)上数组的长度 |
size | 多维数组里全部元素的总数(等于shape元组里所有数值的乘积) |
dtype | 多维数组里元素的类型。同一个多维数组里所有的元素都是同一种类型 |
这里插播一下:
Anaconda是一个基于Python的Data Science Platform,相当于一个包装了数据分析常用库和工具的软件。它是我们开始学习的一个好帮手。下载地址:https://www.continuum.io/anaconda-overview
安装好后,打开“IPython”,或者“Jupyter QtConsole”,或者“Spyder”都可以。它们本质上都是对IPython这个交互式环境的包装。
练习:创建一个ndarray。
直接使用numpy.array()方法,参数为python的 list or tuple (sequence type)。下面的代码里,“In”是我们输入的代码,“Out”是上一行代码的输出。不是每一行代码都会有输出哦。
代码:
In [1]: import numpy as np
In [2]: data = [[0,1,2,3,4], [5,6,7,8,9], [10,11,12,13,14]]
In [3]: ndarray = np.array(data)
In [4]: data
Out[4]: [[0, 1,