作用于数组的函数:

通用函数:函数基于元素的,以单元方式作用于数组的,返回的是与原数组具有相同形状的数组。

不通用函数(数组函数):函数能以行或者列的方式作用于整个矩阵;如果没有提供任何参数时,它们将作用于整个矩阵。例如:maxsummin等函数

例如:A=array([[1,2,3,4],[5,6,7,8]])

print(sum(A))    #返回36,即没任何参数对整个矩阵相加求和

a=sum(A,axis=0)

print(a)     #计算列上的总和,返回[6, 8, 10 ,12]  其中,axis=0表示沿着第一个轴(轴0)来计算总和

b=sum(A,axis=1)    #axis=1,表示沿着轴1(行)来计算矩阵的和.返回结果为向量[1026]

print(b)

注意如果函数使用了不通用的函数,那么在尝试将它们应用于数组时,可能得到标量的结果,甚至发生错误。  例如:

 

def heaviside(x):

    if x>0:

        return 1.

    else:

        return 0.

print(heavisidearray([-1,2]))       #返回结果错误

若改为vheaviside=vectorize(heaviside)    

print(vheaviside(array([-1,2])))   #返回向量[0,1]   

注意:若不通用的函数使用数组作为输入时,函数会发生异常。Numpy包的函数vectorize能够解决这个问题。

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!