我想找到如何將兩個函數應用到numpy數組,每個只有一半的值。 這是我一直在努力將兩個函數應用到numpy數組的兩半
def hybrid_array(xs,height,center,fwhh):
xs[xs<=center] = height*np.exp((-(xs[xs<=center]-center)**2)/(2*(fwhh/(2*np.sqrt(2*np.log(2))))**2))
xs[xs>center] = height*1/(np.abs(1+((center-xs[xs>center])/(fwhh/2))**2))
return xs
但是我改寫傳遞給參數初始數組的代碼。通常的技巧就是用一個切片複製它。以下依然會改變b。
a = b[:]
c = hybrid_array(a,args)
如果沒有做什麼我想任何部分的更好的方法,我會很感激,如果你可以讓我知道,因爲我還是新的NumPy的陣列。 謝謝
deepcopy對我來說聽起來更好。感謝您的幫助 – Anake 2011-12-18 20:41:25
由於NumPy數組不包含引用,因此談論深層或淺層副本(無論是否爲副本)是沒有意義的,但是任何進一步的消歧都沒有意義。使用'deepcopy()'較慢,特別是對於較小的數組。 – 2011-12-20 17:54:51