作用于数组的函数:
通用函数:函数基于元素的,以单元方式作用于数组的,返回的是与原数组具有相同形状的数组。
不通用函数(数组函数):函数能以行或者列的方式作用于整个矩阵;如果没有提供任何参数时,它们将作用于整个矩阵。例如: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能够解决这个问题。
原文地址:https://www.cnblogs.com/chenzhijuan-324/p/10581367.html
时间: 2024-11-09 02:40:01