我是靠谱客的博主 爱听歌毛豆,这篇文章主要介绍17_NumPy数组ndarray中计算满足条件的元素的个数17_NumPy数组ndarray中计算满足条件的元素的个数全体ndarray中满足条件的元素数的计算计算ndarray的每一行和每一列满足条件的元素数使用numpy.any()(全体,行/列)检查是否有满足条件的元素使用numpy.all()检查所有元素是否都满足条件(全体,行/列)多种条件,现在分享给大家,希望可以做个参考。

17_NumPy数组ndarray中计算满足条件的元素的个数

连同示例代码一起说明了一种计算满足NumPy数组ndarray条件的元素数量的方法。

将描述以下内容。

  • 全体ndarray中满足条件的元素数的计算
  • 计算ndarray的每一行和每一列满足条件的元素数
  • 使用numpy.any()(全体,行/列)检查是否有满足条件的元素
  • 使用numpy.all()检查所有元素是否都满足条件(全体,行/列)
  • 多种条件

要替换满足条件的元素,请参考以下文章。

  • 04_Numpy的函数np.where()—满足条件的处理

全体ndarray中满足条件的元素数的计算

将ndarray与标量值进行比较将返回以布尔值(True,False)作为元素的ndarray。您可以将<,==,!=等进行比较。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import numpy as np a = np.arange(12).reshape((3, 4)) print(a) # [[ 0 1 2 3] # [ 4 5 6 7] # [ 8 9 10 11]] print(a < 4) # [[ True True True True] # [False False False False] # [False False False False]] print(a % 2 == 1) # [[False True False True] # [False True False True] # [False True False True]]

使用np.count_nonzero()获得True的数量,即满足条件的元素的数量

复制代码
1
2
3
4
5
print(np.count_nonzero(a < 4)) # 4 print(np.count_nonzero(a % 2 == 1)) # 6

Trueは1, Falseは0として扱われるのでnp.sum()を使うことも可能。ただし、np.count_nonzero()のほうが高速。

复制代码
1
2
3
4
5
print(np.sum(a < 4)) # 4 print(np.sum(a % 2 == 1)) # 6

计算ndarray的每一行和每一列满足条件的元素数

通过指定参数轴,为每个轴(每个维度)处理多维数组的Np.count_nonzero()。

在二维数组的情况下,将在参数axis= 0的列中进行处理,在axis= 1的行中进行处理。通过使用它,可以计算满足每一行和每一列条件的元素的数量。

复制代码
1
2
3
4
5
6
7
8
9
print(np.count_nonzero(a < 4, axis=0)) # [1 1 1 1] print(np.count_nonzero(a < 4, axis=1)) # [4 0 0] print(np.count_nonzero(a % 2 == 1, axis=0)) # [0 3 0 3] print(np.count_nonzero(a % 2 == 1, axis=1)) # [2 2 2]

自版本1.12.0起,可以使用np.count_nonzero()指定参数轴。由于np.sum()自1.7.0版以来已实现参数轴,因此可以将np.sum()用于较早的版本。

使用numpy.any()(全体,行/列)检查是否有满足条件的元素

np.any()是一个函数,如果在作为第一个参数传递的ndarray中至少有一个True元素,则返回True,否则返回False。

复制代码
1
2
3
4
5
print(np.any(a < 4)) # True print(np.any(a > 100)) # False

与np.count_nonzero()类似,如果指定了参数轴,则np.any()将处理每一行和每一列。

复制代码
1
2
3
4
5
6
7
8
print(np.any(a < 4, axis=0)) # [ True True True True] print(np.any(a < 4, axis=1)) # [ True False False]

使用numpy.all()检查所有元素是否都满足条件(全体,行/列)

np.all()是一个函数,如果在第一个参数中传递的ndarray的所有元素均为True,则返回True,否则返回False。

复制代码
1
2
3
4
5
print(np.all(a < 4)) # False print(np.all(a < 100)) # True

与np.count_nonzero()相似,当指定参数轴时,将对每一行和每一列处理np.all()。

复制代码
1
2
3
4
5
print(np.all(a < 4, axis=0)) # [False False False False] print(np.all(a < 4, axis=1)) # [ True False False]

多种条件

如果要组合多个条件,请将每个条件表达式括在()中,并将其与&或|连接。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
print((a < 4) | (a % 2 == 1)) # [[ True True True True] # [False True False True] # [False True False True]] print(np.count_nonzero((a < 4) | (a % 2 == 1))) # 8 print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=0)) # [1 3 1 3] print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=1)) # [4 2 2]

请注意,如果省略括号()或使用and和or,将发生错误。

最后

以上就是爱听歌毛豆最近收集整理的关于17_NumPy数组ndarray中计算满足条件的元素的个数17_NumPy数组ndarray中计算满足条件的元素的个数全体ndarray中满足条件的元素数的计算计算ndarray的每一行和每一列满足条件的元素数使用numpy.any()(全体,行/列)检查是否有满足条件的元素使用numpy.all()检查所有元素是否都满足条件(全体,行/列)多种条件的全部内容,更多相关17_NumPy数组ndarray中计算满足条件内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部