numpy常用函数

    技术2022-07-20  67

    求e的幂指 In [49]: a = np.arange(3) In [50]: a Out[50]: array([0, 1, 2]) In [51]: np.exp(a) Out[51]: array([1. , 2.71828183, 7.3890561 ]) 求开平方 In [52]: np.sqrt(a) Out[52]: array([0. , 1. , 1.41421356]) 向下取整 In [53]: a = np.random.randn(2,3) In [54]: a Out[54]: array([[-0.33540126, 0.74271821, -0.19945059], [ 0.96239612, -1.2588831 , -1.36991315]]) In [55]: np.floor(a) Out[55]: array([[-1., 0., -1.], [ 0., -2., -2.]]) 矩阵转化为向量 In [56]: np.ravel(a) Out[56]: array([-0.33540126, 0.74271821, -0.19945059, 0.96239612, -1.2588831 , -1.36991315]) 矩阵转置 In [64]: a Out[64]: array([[1, 2], [3, 4], [5, 6]]) In [65]: a.T Out[65]: array([[1, 3, 5], [2, 4, 6]]) 矩阵按列拼接 In [67]: a = np.array([[1,2],[3,4]]) In [68]: a Out[68]: array([[1, 2], [3, 4]]) In [69]: b = np.array([[5,6],[7,8]]) In [70]: b Out[70]: array([[5, 6], [7, 8]]) In [72]: np.vstack((a,b)) Out[72]: array([[1, 2], [3, 4], [5, 6], [7, 8]]) 矩阵按行拼接 In [78]: np.hstack((a,b)) Out[78]: array([[1, 2, 5, 6], [3, 4, 7, 8]]) 矩阵按列切分 In [90]: c Out[90]: array([[1, 2, 5, 6], [3, 4, 7, 8]]) In [91]: np.vsplit(c,2) Out[91]: [array([[1, 2, 5, 6]]), array([[3, 4, 7, 8]])] 矩阵按行切分 In [96]: np.hsplit(c,2) Out[96]: [array([[1, 2], [3, 4]]), array([[5, 6], [7, 8]])] nump浅拷贝与深拷贝 #浅拷贝 a = b.view() #深拷贝 a = b.copy() 求矩阵按行或列的最大值索引 In [98]: c Out[98]: array([[1, 2, 5, 6], [3, 4, 7, 8]]) In [99]: c.argmax(axis=0) Out[99]: array([1, 1, 1, 1], dtype=int64) In [100]: c.argmax(axis=1) Out[100]: array([3, 3], dtype=int64) 按行或列成倍数扩大原矩阵 In [102]: a = np.arange(0,40,10) In [103]: a Out[103]: array([ 0, 10, 20, 30]) #将矩阵a的行数扩大2倍数,列数扩大3倍 In [106]: np.tile(a, (2,3)) Out[106]: array([[ 0, 10, 20, 30, 0, 10, 20, 30, 0, 10, 20, 30], [ 0, 10, 20, 30, 0, 10, 20, 30, 0, 10, 20, 30]]) 按行或列对矩阵排序 In [107]: a = np.array([[4,3,5],[1,2,1]]) In [108]: np.sort(a,axis=0) Out[108]: array([[1, 2, 1], [4, 3, 5]]) In [109]: np.sort(a,axis=1) Out[109]: array([[3, 4, 5], [1, 1, 2]]) 按行或列排序返回排序后的原矩阵索引 In [110]: a Out[110]: array([[4, 3, 5], [1, 2, 1]]) In [111]: np.argsort(a, axis=0) Out[111]: array([[1, 1, 1], [0, 0, 0]], dtype=int64) In [112]: np.argsort(a, axis=1) Out[112]: array([[1, 0, 2], [0, 2, 1]], dtype=int64)
    Processed: 0.010, SQL: 10