【数据分析】Numpy——numpy.dot() 函数

匆匆过客 提交于 2019-12-22 01:33:27

【官网】https://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html

numpy.dot(a, b, out=None)

 

一、dot()的使用

dot()返回的是两个数组的点积(dot product)

1.如果处理的是一维数组,则得到的是两数组的內积

import numpy as np
a = np.arange(0,9)
b = a[::-1]
c = np.dot(a,b)

print(a)
print(b)
print(c)
输出:[0 1 2 3 4 5 6 7 8]
[8 7 6 5 4 3 2 1 0]
84               

注:0*8 + 1*7 + 2*6 + 3*5 + 4*4 + 5*3 + 6*2 + 7*1 +8*0 = 0 + 7 + 12 + 15 + 16 +15 + 12 + 7*1 +8*0 = 84

2.如果是二维数组(矩阵)之间的运算,则得到的是矩阵积(mastrix product)

import numpy as np

a = np.arange(1,5).reshape(2,2)
b = np.arange(5,9).reshape(2,2)
c = np.dot(a,b)

print("a:",a)
print("b:",b)
print("c:",c)
输出:a: [[1 2]
     [3 4]]
b: [[5 6]
    [7 8]]
c: [[19 22]
     [43 50]]

注:

[[1, 2],

[3, 4]]

  

[[5, 6],
[7, 8]]

 

1*5 + 2*7 = 19        1*6 + 2*8 = 22      3*5 + 4*7 =  43      3*6 + 4*8 = 50

图解: 

3.dot()函数可以通过numpy库调用,也可以由数组实例对象进行调用。a.dot(b) 与 np.dot(a,b)效果相同。

【注意】矩阵积计算不遵循交换律,np.dot(a,b) 和 np.dot(b,a) 得到的结果是不一样的。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!