python学习之数组二

2023-01-31 00:01:22 python 学习 数组

作用于数组的函数:

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

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

例如: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(行)来计算矩阵的和.返回结果为向量[10,26]

print(b)

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

 

def heaviside(x):

    if x>0:

        return 1.

    else:

        return 0.

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

若改为vheaviside=vectorize(heaviside)    

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

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

 

相关文章