task1Numpy入门: 刚开始还是挺基础的,之前有过编程基础,所以这部分就很快的过了一遍,不过也是学到了很多新东西,而且python和c java也是有很多不同之处的。 1、时间日期和时间增量 datetime64 :在 numpy 中,我们很方便的将字符串转换成时间日期类型 datetime64(datetime 已被 python 包含的日期时间库所占用)。 为了允许在只有一周中某些日子有效的上下文中使用日期时间,NumPy包含一组“busday”(工作日)功能。 将指定的偏移量应用于工作日,单位天(‘D’)。计算下一个工作日,如果当前日期为非工作日,默认报错。可以指定 forward 或 backward 规则来避免报错。(一个是向前取第一个有效的工作日,一个是向后取第一个有效的工作日) 2、数组的创建
依据现有数据来创建 ndarray (a)通过array()函数进行创建。 def array(p_object, dtype=None, copy=True, order=‘K’, subok=False, ndmin=0): (b)通过asarray()函数进行创建 def asarray(a, dtype=None, order=None): return array(a, dtype, copy=False, order=order) (c)通过fromfunction()函数进行创建 datatime64是带单位的日期时间类型, 给函数绘图的时候可能会用到fromfunction(),该函数可从函数中创建数组。依据 ones 和 zeros 填充方式(a)零数组 zeros()函数:返回给定形状和类型的零数组。 zeros_like()函数:返回与给定数组形状和类型相同的零数组。 def zeros(shape, dtype=None, order=‘C’): def zeros_like(a, dtype=None, order=‘K’, subok=True, shape=None) def fromfunction(function, shape, **kwargs):(b)1数组¶ ones()函数:返回给定形状和类型的1数组。 ones_like()函数:返回与给定数组形状和类型相同的1数组。 def ones(shape, dtype=None, order=‘C’): def ones_like(a, dtype=None, order=‘K’, subok=True, shape=None)
(c)空数组¶ empty()函数:返回一个空数组,数组元素为随机数。 empty_like函数:返回与给定数组具有相同形状和类型的新数组。 def empty(shape, dtype=None, order=‘C’): def empty_like(prototype, dtype=None, order=‘K’, subok=True, shape=None): (d)单位数组 eye()函数:返回一个对角线上为1,其它地方为零的单位数组。 identity()函数:返回一个方的单位数组。 def eye(N, M=None, k=0, dtype=float, order=‘C’): def identity(n, dtype=None):
(e)对角数组¶ diag()函数:提取对角线或构造对角数组。 def diag(v, k=0)
(f)常数数组 full()函数:返回一个常数数组。 full_like()函数:返回与给定数组具有相同形状和类型的常数数组。 def full(shape, fill_value, dtype=None, order=‘C’): def full_like(a, fill_value, dtype=None, order=‘K’, subok=True, shape=None):
利用数值范围来创建ndarray arange()函数:返回给定间隔内的均匀间隔的值。 linspace()函数:返回指定间隔内的等间隔数字。 logspace()函数:返回数以对数刻度均匀分布。 numpy.random.rand() 返回一个由[0,1)内的随机数组成的数组。 def arange([start,] stop[, step,], dtype=None): def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0): def logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0): def rand(d0, d1, …, dn):
结构数组的创建 数组的属性 在使用 numpy 时,你会想知道数组的某些信息。很幸运,在这个包里边包含了很多便捷的方法,可以给你想要的信息。
numpy.ndarray.ndim用于返回数组的维数(轴的个数)也称为秩,一维数组的秩为 1,二维数组的秩为 2,以此类推。 numpy.ndarray.shape表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。 numpy.ndarray.size数组中所有元素的总量,相当于数组的shape中所有元素的乘积,例如矩阵的元素总量为行与列的乘积。 numpy.ndarray.dtype ndarray 对象的元素类型。 numpy.ndarray.itemsize以字节的形式返回数组中每一个元素的大小。 class ndarray(object): shape = property(lambda self: object(), lambda self, v: None, lambda self: None) dtype = property(lambda self: object(), lambda self, v: None, lambda self: None) size = property(lambda self: object(), lambda self, v: None, lambda self: None) ndim = property(lambda self: object(), lambda self, v: None, lambda self: None) itemsize = property(lambda self: object(), lambda self, v: None, lambda self: None)
了解了三维数组的原理以及表示方法