首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用numpy.where的python中的多维数组

使用numpy.where的python中的多维数组
EN

Stack Overflow用户
提问于 2018-10-15 01:24:59
回答 1查看 27关注 0票数 -2

我是python的初学者,正在进行教程,但无法获得正确的结果。

我想知道我会错在哪里!

代码语言:javascript
复制
binFreq = np.arange(N / 2 + 1) * float(fs) / N
squaredMX = np.square(mX)
lowBandIdx0 = np.where(binFreq > 0)[0][0]

lowBandIdx3000 = np.where(binFreq < 3000)[0][-1]

highBandIdx3000 = np.where(binFreq > 3000)[0][0]

highBandIdx10000 = np.where(binFreq < 10000)[0][-1]

lowBandSqMX = squaredMX[:,lowBandIdx0:lowBandIdx3000+1]
highBandSqMX = squaredMX[:,highBandIdx3000:highBandIdx10000+1]
engEnv = np.zeros((numFrames, 2))
engEnv[:, 0] = 10*np.log10(np.sum(lowBandSqMX, 1))
engEnv[:, 1] = 10*np.log10(np.sum(highBandSqMX, 1))

我特别想了解这些代码行是做什么的:

代码语言:javascript
复制
lowBandIdx3000 = np.where(binFreq < 3000)[0][-1]
highBandIdx10000 = np.where(binFreq < 10000)[0][-1]
EN

回答 1

Stack Overflow用户

发布于 2018-10-15 06:15:31

这给出了一个索引数组,其中条件binFreq < 10000为真。我不确定你到底想要达到什么目的,但希望这能有所帮助!你可以做一个像这样的小测试来显示我在说什么。

代码语言:javascript
复制
import numpy
a = numpy.array([4,2,3,1,5])
b = numpy.where(a<3)
print(b)#[1,3]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52805215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档