Numpy(Numerical Python)是高性能科学计算和数据分析的基础包,其这部分功能如下:
- ndarray,一个具有矢量算数运算和复杂广播能力的快速且节省空间的多维数组。
- 用于对整租数据进行快速运算的标准数学函数(无需编写循环)。
- 用于读写磁盘数据的工具以及用于操作内存映射文件的工具 线性代数,随机数生成以及傅里叶变换功能
- 用于集成有C,C++,Fortran等语言编写的代码的工具
Numpy的主要对象是同种元素的多维数组。这是一个所有元素都是一种类型、通过一个正整数元组索引的元素表格(通常元素是数字)。在Numpy中维度叫做轴,轴的个数叫做秩。
如下例表示数组A的秩为2(它有两个维度),第一维度的长度为2,第二个维度的长度为3。
A=[[1,0,0],
[2,1,0]]
Numpy的数组类称为ndarray,注意numpy.array和标准python库类array.array并不相同,后者只处理一维数组和提供少量功能。
ndarray对象属性
ndarry.ndim
数组轴的个数(秩)
ndarray.shape
数组的维度,这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性
ndarray.size
数组元素的总个数,等于shape属相中元组元素的乘积。
ndarray.dtype
一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型。
ndarray.itemsize
数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).
ndarray.data
包含实际数组元素的缓冲区,通常我们不需要使用这个属性,因为我们总是通过索引来使用数组中的元素。
结合例子来食用效果更佳:
>>> import numpy as np
A = np.arange(15).reshape(3,5)
>>> A
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> A.ndim
2
>>> A.shape
(3, 5)
>>> A.size
15
>>> A.dtype
dtype('int32')
>>> A.itemsize
4
>>> A.data
<memory at 0x00000000045452E8>
Ref:
《利用python进行数据分析》
https://docs.scipy.org/doc/numpy-dev/user/quickstart.html
http://www.tuicool.com/articles/r2yyei