1
我有一個函數擬合數X,通過以下算法ÿ陣列:跳過RuntimeError內部numpy.apply_along_axis
def f(func, data, init):
import scipy.optimize as opt
from numpy import apply_along_axis
fit = lambda d: opt.curve_fit(func, d[:cut], d[cut:], p0=[init, init], maxfev=100)[0]
return apply_along_axis(fit, 1, data)
所以,我應用擬合數據的每個第一軸(形狀=(50000, 6)),但是,突然間,在某些行中出現問題,停止numpy.apply_along_axis並返回RuntimeError。由於我不在乎錯誤的配合,所以我想跳過它們。
因此,是否可以在apply_along_axis函數內禁用這些RuntimeError?
這是一個好主意,但是應該在'fit'函數內完成異常處理,只跳過一些行而不是整個數組。 – 2014-03-25 17:12:38
謝謝@Fury,冒險時間是現今最偉大的動畫系列。是的,moarningsun是正確的,我需要在curve_fit或apply_along_axis中處理異常。我只是想跳過有問題的裝修。 –
我編輯了我的答案以提供一個新的'fit'函數。如前所述,我不知道返回0是否是最好的做法,但是由於'apply_along_axis'期望得到某些東西,所以不能只返回'None'。 – Fury