作用於數組的函數: 通用函數:函數基於元素的,以單元方式作用於數組的,返回的是與原數組具有相同形狀的數組。 不通用函數(數組函數):函數能以行或者列的方式作用於整個矩陣;如果沒有提供任何參數時,它們將作用於整個矩陣。例如:max、sum和min等函數 例如:A=array([[1,2,3,4],[5 ...
作用於數組的函數:
通用函數:函數基於元素的,以單元方式作用於數組的,返回的是與原數組具有相同形狀的數組。
不通用函數(數組函數):函數能以行或者列的方式作用於整個矩陣;如果沒有提供任何參數時,它們將作用於整個矩陣。例如: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能夠解決這個問題。