Python 如何获取数组中、范围内或高于阈值的值的计数?
我想得到一个大于350的值的计数和一个大于510的值的第二个计数。每次计数我只需要一个数字。我已经看到了一些获取计数的方法,但它们似乎不符合我的目的。谢谢你的帮助Python 如何获取数组中、范围内或高于阈值的值的计数?,python,python-3.x,numpy,scipy,Python,Python 3.x,Numpy,Scipy,我想得到一个大于350的值的计数和一个大于510的值的第二个计数。每次计数我只需要一个数字。我已经看到了一些获取计数的方法,但它们似乎不符合我的目的。谢谢你的帮助 print(simfourty48) [ array([ 99.06, 180.15, 234.21, 369.36, 171.14, 162.13, 54.01, 324.31, 171.14, 108.07, 225.2 , 243.22, 306.29, 144.11,
print(simfourty48)
[ array([ 99.06, 180.15, 234.21, 369.36, 171.14, 162.13, 54.01,
324.31, 171.14, 108.07, 225.2 , 243.22, 306.29, 144.11,
450.45, 693.72, 225.2 , 486.49, 810.85, 243.22, 279.26,
135.1 , 261.24, 405.4 , 126.09, 261.24, 162.13, 234.21, 45. ])]
你试过了吗
实际上,查看
simfourty48
,您似乎有一个列表
,其唯一元素是np.ndarray
。在这种情况下,它将是:
np.count_nonzero(simfourty48[0] > 350)
但如果可能的话,我建议重新考虑使用1个数组数据结构的列表。这似乎只会让你的生活变得更加困难。这段代码没有按原样运行,因为我忘了提到数组是根据列表构建的(直到事后我才意识到这很重要)。修正:和(滤波器(λx:x>350,simfourty48[0]);但是,这只是返回满足条件的值,而不是值的计数。
sum(filter(lambda x: x > 350, simfourty48))
sum(filter(lambda x: x > 350, simfourty48))