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