昨天装了ipython notebook 今天在上面开始学习python numpy包,现在记录如下:
NumPy的数组类被称作 ndarray 。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。更多重要ndarray对象属性有:
In [1]:from numpy import *
In [2]:a=arange(15).reshape(3,5)
In [3]:a
Out[3]:
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])
数组轴的个数,在python的世界中,轴的个数被称作秩。
In [4]:a.ndim
Out[4]:
2
这里输入的矩阵a,有两个维度(dimensions),也称为轴(axes),轴的个数在python中称为秩(rank)。所以a.ndim输出是2。
数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(n,m),n是行数,m是列数。这个元组的长度显然是秩,(n,m两个数字,长度为2),即维度或者ndim属性。
In [5]:a.shape
Out[5]:
(3, 5)
数组元素的总个数,等于shape属性中元组元素n,m的乘积。
In [6]:a.size
Out[6]:
15
一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型。
In [7]:a.dtype
Out[7]:
dtype('int32')
In [9]:a.dtype.name
Out[9]:
'int32'
数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).
In [10]:a.itemsize
Out[10]:
4
包含实际数组元素的缓冲区,通常我们不需要使用这个属性,因为我们总是通过索引来使用数组中的元素。
In [11]:a.data
Out[11]:
<read-write buffer for 0x037E1390, size 60, offset 0 at 0x05747020>
再来看下a的类型,通过type()查看
In [13]:type(a)
Out[13]:
numpy.ndarray
In [14]:b=array([6,7,8])
In [15]:b
Out[15]:
array([6, 7, 8])
In [16]:type(b)
Out[16]:
numpy.ndarray