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,)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。