Python 计算numy.ndarray中大于某个值的元素数
我想计算大于某个特定值的numpy.ndarry中的元素数。如何获得所需的结果 例如:Python 计算numy.ndarray中大于某个值的元素数,python,python-3.x,numpy-ndarray,Python,Python 3.x,Numpy Ndarray,我想计算大于某个特定值的numpy.ndarry中的元素数。如何获得所需的结果 例如: [[0.25656927 0.31030828 0.23430803 0.25999823 0.20450112 0.19383106 0.35779405 0.36355627 0.16837767 0.1933686 0.20630316 0.17804974 0.06902786 0.26209944 0.21310201 0.12016498 0.14213449 0.16639964
[[0.25656927 0.31030828 0.23430803 0.25999823 0.20450112 0.19383106
0.35779405 0.36355627 0.16837767 0.1933686 0.20630316 0.17804974
0.06902786 0.26209944 0.21310201 0.12016498 0.14213449 0.16639964
0.33461425 0.15897344 0.20293266 0.14630634 0.2509769 0.17211646
0.3922994 0.14036047 0.12571093 0.25565785 0.18216616 0.0728473
0.25328827 0.1476636 0.1873344 0.12253726 0.16082433 0.20678088
0.33296013 0.03104548 0.14949016 0.05495472 0.1494042 0.32033417
0.05361898 0.14325878 0.16196126 0.15796155 0.10990247 0.14499696]]
是数组,我希望元素数大于0.19214945092486838
。
这里的值是21。如何计算它?您可以简单地执行以下操作:
import numpy
arr = numpy.asarray([0.25656927, 0.31030828, 0.23430803, 0.25999823, 0.20450112, 0.19383106, 0.35779405, 0.36355627, 0.16837767, 0.1933686, 0.20630316, 0.17804974, 0.06902786, 0.26209944, 0.21310201, 0.12016498, 0.14213449, 0.16639964, 0.33461425, 0.15897344, 0.20293266, 0.14630634, 0.2509769, 0.17211646, 0.3922994, 0.14036047, 0.12571093, 0.25565785, 0.18216616, 0.0728473, 0.25328827, 0.1476636, 0.1873344, 0.12253726, 0.16082433, 0.20678088, 0.33296013, 0.03104548, 0.14949016, 0.05495472, 0.1494042, 0.32033417, 0.05361898, 0.14325878, 0.16196126, 0.15796155, 0.10990247, 0.14499696])
print((arr > 0.19214945092486838).sum())
输出为:21
您只需执行以下操作:
import numpy
arr = numpy.asarray([0.25656927, 0.31030828, 0.23430803, 0.25999823, 0.20450112, 0.19383106, 0.35779405, 0.36355627, 0.16837767, 0.1933686, 0.20630316, 0.17804974, 0.06902786, 0.26209944, 0.21310201, 0.12016498, 0.14213449, 0.16639964, 0.33461425, 0.15897344, 0.20293266, 0.14630634, 0.2509769, 0.17211646, 0.3922994, 0.14036047, 0.12571093, 0.25565785, 0.18216616, 0.0728473, 0.25328827, 0.1476636, 0.1873344, 0.12253726, 0.16082433, 0.20678088, 0.33296013, 0.03104548, 0.14949016, 0.05495472, 0.1494042, 0.32033417, 0.05361898, 0.14325878, 0.16196126, 0.15796155, 0.10990247, 0.14499696])
print((arr > 0.19214945092486838).sum())
输出是:21
这里有一种方法
my_array = ... the target array ...
result = sum(0.19214945092486838 < x for x in my_array)
my_数组=。。。目标阵列。。。
结果=总和(0.19214945092486838
这里有一种方法
my_array = ... the target array ...
result = sum(0.19214945092486838 < x for x in my_array)
my_数组=。。。目标阵列。。。
结果=总和(0.19214945092486838
ar[ar>0.19214945092486838]
将为您提供高于当前值的元素列表。您可以使用len
获取长度
>>> import numpy as np
>>> ar = np.array([0.25656927,0.31030828,0.23430803,0.25999823,0.20450112,0.19383106,0.35779405,0.36355627,0.16837767,0.1933686,0.20630316,0.17804974 ,0.06902786,0.26209944,0.21310201,0.12016498,0.14213449,0.16639964,0.33461425,0.15897344,0.20293266,0.14630634,0.2509769,0.17211646 ,0.3922994,0.14036047,0.12571093,0.25565785,0.18216616,0.0728473,0.25328827,0.1476636,0.1873344,0.12253726,0.16082433,0.20678088 ,0.33296013,0.03104548,0.14949016,0.05495472,0.1494042,0.32033417,0.05361898,0.14325878,0.16196126,0.15796155,0.10990247,0.14499696])
>>> print(len(ar[ar>0.19214945092486838]))
>>> 21
ar[ar>0.19214945092486838]
将为您提供高于当前值的元素列表。您可以使用len
获取长度
>>> import numpy as np
>>> ar = np.array([0.25656927,0.31030828,0.23430803,0.25999823,0.20450112,0.19383106,0.35779405,0.36355627,0.16837767,0.1933686,0.20630316,0.17804974 ,0.06902786,0.26209944,0.21310201,0.12016498,0.14213449,0.16639964,0.33461425,0.15897344,0.20293266,0.14630634,0.2509769,0.17211646 ,0.3922994,0.14036047,0.12571093,0.25565785,0.18216616,0.0728473,0.25328827,0.1476636,0.1873344,0.12253726,0.16082433,0.20678088 ,0.33296013,0.03104548,0.14949016,0.05495472,0.1494042,0.32033417,0.05361898,0.14325878,0.16196126,0.15796155,0.10990247,0.14499696])
>>> print(len(ar[ar>0.19214945092486838]))
>>> 21
使用numpy,您可以尝试:
Myarray= [ [ your array]]
Value_to_search=0.19214945092486838
Array_greater_than=Myarray>Value_to_search
Nb_Val_greater_than=Array_greater_than.sum()
print(Nb_Val_greater_than)
使用numpy,您可以尝试:
Myarray= [ [ your array]]
Value_to_search=0.19214945092486838
Array_greater_than=Myarray>Value_to_search
Nb_Val_greater_than=Array_greater_than.sum()
print(Nb_Val_greater_than)
要获取项目大于/小于的数组,请执行以下操作:
>>> import numpy as np
>>> data = np.arange(12)
>>> data > 5
array([False, False, False, False, False, False, True, True, True,
True, True, True])
然后您只需找到数组的和:
>>> (data > 5).sum()
6
现在,将
数据
替换为您的值,并使用(数据>0.19214945092486838)
。获取项目大于/小于以下值的数组:
>>> import numpy as np
>>> data = np.arange(12)
>>> data > 5
array([False, False, False, False, False, False, True, True, True,
True, True, True])
然后您只需找到数组的和:
>>> (data > 5).sum()
6
现在,用您的值替换
数据
,并使用(数据>0.19214945092486838)
。以下代码片段将实现您的愿望:)
下面的代码片段将实现您的期望:) 最干净的方式(IMHO):
x>1
将数组x
转换为布尔数组,大于1的元素为真。然后您可以通过np.count\u nonzero()计算真值
因此,np.count\u非零(x>1)
最干净的方式(IMHO):
x>1
将数组x
转换为布尔数组,大于1的元素为真。然后您可以通过np.count\u nonzero()计算真值
因此,np.count\u非零(x>1)
计数:
arr[np.where(arr>0.19214945092486838)].shape[0]
计数:
arr[np.where(arr>0.19214945092486838)].shape[0]
您可以使用len计算结果,如以下示例所示:
import numpy as np
matrix = np.array([[0.25656927,0.31030828,0.23430803,0.25999823,0.20450112,0.19383106,
0.35779405, 0.36355627, 0.16837767, 0.1933686, 0.20630316, 0.17804974,
0.06902786, 0.26209944, 0.21310201, 0.12016498, 0.14213449, 0.16639964,
0.33461425, 0.15897344, 0.20293266, 0.14630634, 0.2509769, 0.17211646,
0.3922994, 0.14036047, 0.12571093, 0.25565785, 0.18216616, 0.0728473,
0.25328827, 0.1476636, 0.1873344, 0.12253726, 0.16082433, 0.20678088,
0.33296013, 0.03104548, 0.14949016, 0.05495472, 0.1494042, 0.32033417,
0.05361898, 0.14325878, 0.16196126, 0.15796155, 0.10990247, 0.14499696]])
n = len(matrix[matrix > 0.18])
print(n)
您可以使用len计算结果,如以下示例所示:
import numpy as np
matrix = np.array([[0.25656927,0.31030828,0.23430803,0.25999823,0.20450112,0.19383106,
0.35779405, 0.36355627, 0.16837767, 0.1933686, 0.20630316, 0.17804974,
0.06902786, 0.26209944, 0.21310201, 0.12016498, 0.14213449, 0.16639964,
0.33461425, 0.15897344, 0.20293266, 0.14630634, 0.2509769, 0.17211646,
0.3922994, 0.14036047, 0.12571093, 0.25565785, 0.18216616, 0.0728473,
0.25328827, 0.1476636, 0.1873344, 0.12253726, 0.16082433, 0.20678088,
0.33296013, 0.03104548, 0.14949016, 0.05495472, 0.1494042, 0.32033417,
0.05361898, 0.14325878, 0.16196126, 0.15796155, 0.10990247, 0.14499696]])
n = len(matrix[matrix > 0.18])
print(n)
这回答了你的问题吗?这回答了你的问题吗?我正要发布同样的东西@雷,嗯,这可能是实现这一点的最干净的方法之一(据我所知),这可能是计算它的最简单和最快的方法。工作非常好。我正要发布同样的东西@雷,嗯,这可能是实现这一点的最干净的方法之一(据我所知),这可能是计算它的最简单和最快的方法。效果绝对不错。