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为排序算法,可选快速排序、堆排序等。
小白的学习笔记,未细致分类。