Python第三方库——Numpy

模块属性

  • np.float32

  • np.finfo:类,机器对浮点类型的限制
    参数可以是float,dtype, instance,表示应该获取哪类浮点类型的信息
    属性:
    eps:最小的正数

示例:
np.finfo(float).eps

函数

  • np.amax(a, axis=None, out=None, keepdims=):沿着指定维度取矩阵的最大值
    参数
    a:
    axis:序列或者整数,表示沿着哪几个或者哪个维度取最大值
    keepdims:bool类型。默认情况下不保留维度数。

  • np.argmax(a, axis=None, out=None):返回最大值对应的坐标
    参数
    a:array_like
    axis:int
    返回
    返回的array的shape是a的shape去掉axis。

  • np.multiply(x1, x2[, out]):按元素相乘
    参数
    x1:array_like
    x2:array_like
    返回:
    y:ndarray,返回x1和x2按元素相乘的结果

  • np.concatenate((a1, a2,...), axis=0)
    参数
    a1, a2, …:array_like,除了axis维其他的shape必须一样
    axis:沿着哪个维度进行串联
    返回
    res:ndarray,串联的数组

  • np.nonzero(a):返回a中非零元素的索引,是一个数组的元组,元组大小等于a的维度数,元组中每个数组中的元素对应该非0值在该维度的索引。如果想要得到非零值,用a[nonzero(a)];如果想按元素的位置而非维度,用np.transpose(nonzero(a))

  • np.flatnonzero(a):等价于a.ravel().nonzero()[0]
    参数:
    a:ndarray
    返回:ndarray,返回a的flatten形式中非0元素的索引

  • np.ravel(a, order='c'):返回a的flatten形式
    参数
    a:array_like
    order:字符,指定读a的顺序,可取值{‘C’:按行, ‘F’:按列, ‘A’:, ‘K’:按在内存中出现的顺序},默认取值’C’
    返回
    y:array_like,1维的

  • numpy.unravel_index(indices, dims, order='C'):相当于在一个shape比较复杂的矩阵中,查展开后指定索引值在矩阵中对应的位置
    参数:
    indices:整数array_like,每个元素值都是dims的flatten形式的索引
    dims:整数元组,表示shape
    order:{‘C’, ‘F’}
    返回:
    unraveled_coords:ndarray元组,元组中的每个array的shape都和indices一样,而且元组的元素个数和dims的维度一样

  • np.logical_and():

  • np.linalg.norm(W.ravel()):求范数

  • lambdas, vecs = np.linalg.egi(A):求特征值

  • q,r = np.linalg.qr(A):QR分解

  • np.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0):从文件读取array

  • np.corrcoef(A):计算行与行之间的相关系数,返回对称系数矩阵

  • np.corrcoed(A, rowval=0):计算列与列之间的相关系数

类ndarray

成员变量:

  • np.ndarray.flat:展开的一维数组的迭代器

成员函数:

  • np.ndarray.ravel([order]):展开的数组

  • np.ndarray.astye(dtype, order='K', casting='unsafe', subok=True, copy=True):转换成指定数据类型,默认情况下不修改原数组
    参数
    dtype:
    order:
    casting:
    subok:
    copy:bool,
    返回:
    arr_t:ndarray,copy为True时,返回的是新的数组

子模块random

函数:

  • np.random.shuffle(x):洗牌,修改了x
    参数:
    x:array_like
    返回:
    None

实例

numpy实现按字节数读取文件对象内容

def _read32(bytestream):
  dt = numpy.dtype(numpy.uint32).newbyteorder('>')
  return numpy.frombuffer(bytestream.read(4), dtype=dt)[0]

with gzip.GzipFile(fileobj=f) as bytestream:
    magic = _read32(bytestream)
    if magic != 2049:
      raise ValueError('Invalid magic number %d in MNIST label file: %s' %
                       (magic, f.name))
    num_items = _read32(bytestream)
    buf = bytestream.read(num_items)
    labels = numpy.frombuffer(buf, dtype=numpy.uint8)

你可能感兴趣的:(编程语言Python)