power(x, y) 函数,计算 x 的 y 次方。
示例:
x 和 y 为单个数字:
import numpy as np print(np.power(2, 3))
8
分析:2 的 3 次方。
x 为列表,y 为单个数字:
print(np.power([2,3,4], 3))
[ 8 27 64]
分析:分别求 2, 3, 4 的 3 次方。
x 为单个数字,y 为列表:
print(np.power(2, [2,3,4]))
[ 4 8 16]
分析:分别求 2的 2, 3, 4 次方。
x 和 y 为列表:
print(np.power([2,3], [3,4]))
[ 8 81]
分析:分别求 2 的 3 次方和 3 的 4 次方。
补充:有关于python3.X.X中的power()函数的使用方法和细节
该函数在求欧氏距离较为常用,手写机器学习时候会用到比较多
函数解释:
--- 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,)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。