该函数在求欧氏距离较为常用,手写机器学习时候会用到比较多
函数解释:
--- power(A,B) :求A的B次方,数学等价于A^B
---其中A和B既可以是数字(标量),也可以是列表(向量)
分三种情况:
1. A、B都是数字(标量)时候,就是求A的B次方
In [83]: a , b = 3 ,4
In [84]: np.power(a,b)
Out[84]: 81
2. A是列表(向量),B是数字(标量)时候,分两个子情况:
----power(A,B):A列表(向量)中所有元素,求B的次方;
----power(B,A):生成一个长度len(A)的列表,元素为B^A次方。具体看例子
In [10]: A, B = [1,2,3],3
# 列表A的B次方:[1^3, 2^3, 3^3]
In [11]: np.power(A,B)
Out[11]: array([ 1, 8, 27])
# 返回len(A)长度的列表,其中元素[3^1, 3^2, 3^3]
In [12]: np.power(B,A)
Out[12]: array([ 3, 9, 27])
3. AB都是列表(向量)时候,必须len(A)=len(B)
In [13]: A , B = [1,2,3],[4,5,6]
In [14]: np.power(A,B)
Out[14]: array([ 1, 32, 729])
# 如果A和B的长度不一样,会报错
In [15]: A , B = [1,2,3],[4,5,6,7]
In [16]: np.power(A,B)
ValueError: operands could not be broadcast together with shapes (3,) (4,)