Numpy

Numpy notes

1. Ndarray

1.1. attributes

  1. ndarray.ndim

    • 解释:数组轴的个数,在python的世界中,轴的个数被称作秩
  2. ndarray.shape

    • 解释:数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性
  3. ndarray.size

    • 解释:数组元素的总个数,等于shape属性中元组元素的乘积。
  4. ndarray.dtype

    • 解释:一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型。
  5. ndarray.astype(np.uint8

  6. ndarray.itemsize
    • 解释:数组中每个元素的字节大小。
    • 例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8)
    • 又如,一个元素类型为complex32的数组item属性为4(=32/8).
  7. ndarray.data
    • 解释:包含实际数组元素的缓冲区,通常我们不需要使用这个属性,因为我们总是通过索引来使用数组 元素。
  8. https://blog.csdn.net/xiaoxiangzi222/article/details/53084336

1.2. methods

  1. 取得range
    • np.linspace(-3,3,5)
      • 最后一个为分为多少段
    • Np.arange(-3,3,5)
      • 最后一个为隔多少
  2. 去重
    • np.unique(xs, return_counts=True)
      • 返回一个val array, cnt array
  3. 去重保留顺序
  4. 合并
    • np.column_stack((val, pmf))
      • 返回一个合并两个array的shape = [n,2]
    • np.vstack((sparse_mx.row,sparse_mx.col)
  5. 制作对角方阵,对角线为1
    • Np.indentity(x)
  6. 制作对角方针
    • Np.diag(list)
  7. 按照规则筛选
    • Np.where(a)[1]
      • 扣完的图
    • Np.where(a)[0]
      • 扣完的index
  8. 拼接
    • np.concatenate((a,b,c), axis = x)
  9. 重复
    • np.tile(x, (shape,shape))
      • 例子:np.tile(a,2)
  10. 筛选得到索引
    • Np.argswhere = index
  11. 删除
    • Np.delete(a, b)
  12. 重复每个元素
    • Np.repeat(a,4)
  13. 充满某个元素
    • array.fill()
  14. 抽取样本
    • np.random.choice(nodes, (trials, 2)
      • 解释:nodes一维 -》 抽trialsx2个,shape是后面
  15. 直接抽取多维均匀分布
    • np.random.random_sample(size=(n,2))
  16. 随机抽一堆 PERmutation / shuffle

    • 区别:可以看出在达到 109109 级别以前,两者速度几乎没有差别,但是在 达到 109109 以后两者速度差距明显拉大,shuffle 的用时明显短于 permutation。
    • 结论: 所以在 array 很大的时候还是使用 shuffle 速度更快些,但要注意其不返回打乱后的 array,是 inplace 修改。

1.3. transform

  1. 转为tensor
    • tensor(x) from_numpy(x)
  2. 转为scipy
    • coo_matrix(x)

2. Nmatrix

2.1. init

  1. 通过字符串创建
    • a = npmatrix('1 2 7; 3 4 8; 5 6 9')
      • 矩阵的换行必须是用分号(;)隔开,内部数据必须为字符串形式(‘ ’),矩
      • 矩阵的元素之间必须以空格隔开。
  2. 通过多维数组创建
    • b=np.array([[1,5],[3,2]]) x=np.matrix(b)
      • 矩阵中的data可以为数组对象。

2.2. attributes

  1. matrix.T transpose:返回矩阵的转置矩阵
  2. matrix.H hermitian (conjugate)
  3. .transpose:返回复数矩阵的共轭元素矩阵
  4. matrix.I inverse:返回矩阵的逆矩阵
  5. matrix.A base array:返回矩阵基于的数组
  6. https://www.cnblogs.com/sumuncle/p/5760458.html

2.3. methods

https://www.cnblogs.com/sumuncle/p/5760458.html

3. Numba

https://www.cnblogs.com/freeweb/p/6652607.html

Title:Numpy

Author:Benson

PTime:2019/11/19 - 12:11

LUpdate:2020/04/03 - 21:04

Link:https://steinsgate9.github.io/2019/11/19/numpy/

Protocal: Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) Please keep the original link and author.