Python-在ndarray中选择值的范围
我已经用Python-在ndarray中选择值的范围,python,arrays,multidimensional-array,Python,Arrays,Multidimensional Array,我已经用wavfile.read将一个.wav文件导入Python,并使用频率数据绘制了强度-频率图(使用快速傅立叶变换) 现在我正试图分离并绘制特定的频率范围。我似乎无法从数组向量中提取索引值来识别相应的强度值 我尝试了频率向量上的revel和flant,但仍然得到'numpy.ndarray'对象没有属性“index”错误。我的数组实际上是ndarray?如果是,我如何解决这个问题 代码: 按照@desired login的建议,我将print(fnote.index(f_mid))行更改
wavfile.read
将一个.wav文件导入Python,并使用频率数据绘制了强度-频率图(使用快速傅立叶变换)
现在我正试图分离并绘制特定的频率范围。我似乎无法从数组
向量中提取索引值来识别相应的强度值
我尝试了频率向量上的revel
和flant
,但仍然得到'numpy.ndarray'对象没有属性“index”错误。我的数组
实际上是ndarray
?如果是,我如何解决这个问题
代码:
按照@desired login的建议,我将print(fnote.index(f_mid))
行更改为print(np.where(fnote==f_low)、np.where(fnote==f_mid)、np.where(fnote==f_hi))
,我得到
((array([], dtype=int64),), (array([97065], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([99315], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([103815], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([112815], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([130815], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([166814], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([189629], dtype=int64),), (array([], dtype=int64),))
sample rate fs = 44100
Nyqvist frequency fn = 22050.0
为什么我会收到[]
?请发布您的代码您的数组的形状是什么,您希望提取的索引范围是什么?您可能正在寻找<代码>打印(np.where(fnote==f_mid))
((array([], dtype=int64),), (array([97065], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([99315], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([103815], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([112815], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([130815], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([166814], dtype=int64),), (array([], dtype=int64),))
((array([], dtype=int64),), (array([189629], dtype=int64),), (array([], dtype=int64),))
sample rate fs = 44100
Nyqvist frequency fn = 22050.0