在讲解Numpy之前先看一幅图:
可以看出,Numpy核心就是ndarray对象,一个ndarray对象实例由若干个dtype对象实例构成。这就是Numpy精髓所在。
1. 数据类型
Numpy中数据类型是dtype对象实例,dtype对象描述了对应于数组的固定内存块的解释。基本数据类型有:int16, uint16, float32等等。
dtype构造语法:numpy.dtype(object, align, copy)
- Object:转换的目标数据类型
- Align:如果为true,则向字段添加间隔,使其类似 C 的结构体
- Copy:生成dtype对象的新副本,如果为flase,结果是内建数据类型对象的引用。
2. 数组属性
- ndarray.shape
- ndarray.reshape
- ndarray.ndim
- numpy.itemsize
3. 创建数组
3.1 数组创建例程
- numpy.empty(shape, dtype = float, order = ‘C’)
- numpy.zeros(shape, dtype = float, order = ‘C’)
- numpy.ones(shape, dtype = float, order = ‘C’)
这里有一个难点,看以下例子:
会发现(5,)与5似乎并没有区别?此处待更新!
3.2 来自现有数据
- numpy.asarray(a, dtype = None, order = None)
其中a 为任意形式的输入参数,比如列表、列表的元组、元组、元组的元组、元组的列表。 - numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)
buffer 为任何暴露缓冲区借口的对象。 - numpy.fromiter(iterable, dtype, count = -1)
iterable 为任何可迭代对象
3.3 来自数值范围数组
- numpy.arange(start, stop, step, dtype)
函数返回ndarray对象,包含给定范围内的等间隔值。 - numpy.linspace(start, stop, num, endpoint, retstep, dtype)
函数类似于arange()函数。 在此函数中,指定了范围之间的均匀间隔数量,而不是步长。 - numpy.logscale(start, stop, num, endpoint, base, dtype)
函数返回一个ndarray对象,其中包含在对数刻度上均匀分布的数字。 刻度的开始和结束端点是某个底数的幂,通常为 10。