0
我有以下情況:從numpy的陣列獲取的索引
我的變量 PARAMS由幾個子值組成:
>> params
rec.array([ (12.534214167520581, ... 0.7833572386219857, -0.4215128074913047, 3.717773146160369)],
dtype=[('const', '<f8'), ('ampl', '<f8'), ('freq', '<f8'), ('phase', '<f8'), ('e_const', '<f8'), ('e_ampl', '<f8'), ('e_freq', '<f8'), ('e_phase', '<f8'), ('stopcrit', '<f8')])
不過我只在 AMPL很感興趣和頻率,對他們的價值觀是:
>>params['ampl']
array([ 12.53421417, 22.53421417, 21.53421417, ..., 2.53421417,
1.53421417, 2.53421417])
>>params['freq']
array([ 0.78335724, 1.56697824, 4.86322084, ..., 11.45392432,
21.17763437, 0.4946571 ])
後一些分析,我意識到唯一的價值觀是 ampl 22.53421417和 21.53421417。
讓我們把這些值 new_array = 22.53421417,21.53421417],我需要的是創建一個新的 PARAMS [ '擴增子']和 PARAMS [ '頻率']但只值我息,換言之,減少 PARAMS [ 'AMPL']和 PARAMS [ '頻率']到:
params['ampl'] = [22.53421417, 21.53421417]
params['freq'] = [1.56697824, 4.86322084]
另外,這些是數據的類型:
>>type(params)
numpy.recarray
>>type(params['ampl'])
numpy.ndarray
我已經嘗試了幾件事情,使用 .index但只是不工作。提前感謝您的任何建議。
非常感謝您的回答,但是當我運行的代碼,我得到我已經收到了同樣的錯誤:回溯(最近通話最後一個): 文件「「,第2行,在 loc_in_amp = params ['ampl']。index(i)#get each value location in amp AttributeError:'numpy.ndarray'對象沒有屬性'index' –
FMEZA
您沒有指定您使用的是一個numpy數組。 – TheLazyScripter
提供用於創建數組和傳遞的數據的代碼。 – TheLazyScripter