numpy库学习笔记(一)

python使用调用第三方库时首先需要导入,numpy库也是如此,一般numpy库采用如下方式导入

import numpy as np

一、矩阵

(1)np.matrix()或np.array()用于创建矩阵,如:

import numpy as np
a=np.matrix([[1,4,5],[2,6,3],[5,7,8]])
b=np.array([[1,9,5],[2,6,0],[3,6,9]])
print(a)
print(b)

输出的结果为:

[[1 4 5]
 [2 6 3]
 [5 7 8]]

[[1 9 5]
 [2 6 0]
 [3 6 9]]

(2)矩阵运算

np.multiply()矩阵的对应元素相乘(点乘),

/矩阵的对应元素相除(点除)

np.dot()或*矩阵相乘,如:

print(np.multiply(a,b))
print(a/b)
print(np.dot(a,b))
print(a*b)

结果分别为:

[[ 1 36 25]
 [ 4 36  0]
 [15 42 72]]

[[1.         0.44444444 1.        ]
 [1.         1.                inf]
 [1.66666667 1.16666667 0.88888889]]

[[ 24  63  50]
 [ 23  72  37]
 [ 43 135  97]]

[[ 24  63  50]
 [ 23  72  37]
 [ 43 135  97]]

(3)其他

np.title()对整个矩阵进行复制拼接,用法:

np.tile(a,reps)
#为矩阵,reps为复制的次数,reps为实数时,横向复制;
#当rep为一元组类型(m,n)时,第一个元素表示复制m列,第二个元素表示复制n行

如:

In [30]: np.tile(a,(4,1))
OUT[30]:
matrix([[1, 4, 5],
        [2, 6, 3],
        [5, 7, 8],
        [1, 4, 5],
        [2, 6, 3],
        [5, 7, 8],
        [1, 4, 5],
        [2, 6, 3],
        [5, 7, 8],
        [1, 4, 5],
        [2, 6, 3],
        [5, 7, 8]])

np.sum()用于对矩阵进行求和,如果没有参数,默认未对矩阵求和,若axes=0,则对列求和,若axes=1,则是对矩阵进行行求和。如:

print(a.sum(axis=0))
print(a.sum(axis=1))
print(a.sum())

结果分别为:

[[ 8 17 16]]

[[10]
 [11]
 [20]]

41

np.nonzero,用于查找矩阵中的非零元素,返回非零元素的下标,如

print(np.nonzero(b))

结果是:

(array([0, 0, 0, 1, 1, 2, 2, 2], dtype=int64), array([0, 1, 2, 0, 1, 0, 1, 2], dtype=int64))

np.argsort 用于对矩阵的每一行元素排序,并返回排序后的元素索引默认为升序排序,如:

c=np.array([[3,6,1],[5,3,2],[67,45,67],[14,7,9]])
print(np.argsort(c))

结果是:

[[2 0 1]
 [2 1 0]
 [1 0 2]
 [1 2 0]]

该函数的参数是

argsort(a, axis=-1, kind='quicksort', order=None)

其中a为待排序的矩阵,axis=-1为默认,代表升序排序,kind为排序算法,可选快速排序、堆排序等。

 

 

 

 

 

小白的学习笔记,未细致分类。

 

你可能感兴趣的:(numpy库学习笔记(一))