我是靠谱客的博主 爱听歌毛豆,最近开发中收集的这篇文章主要介绍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。您可以将<,==,!=等进行比较。

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的数量,即满足条件的元素的数量

print(np.count_nonzero(a < 4))
# 4
print(np.count_nonzero(a % 2 == 1))
# 6

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

print(np.sum(a < 4))
# 4
print(np.sum(a % 2 == 1))
# 6

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

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

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

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。

print(np.any(a < 4))
# True
print(np.any(a > 100))
# False

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

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。

print(np.all(a < 4))
# False
print(np.all(a < 100))
# True

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

print(np.all(a < 4, axis=0))
# [False False False False]
print(np.all(a < 4, axis=1))
# [ True False False]

多种条件

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

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中计算满足条件的元素的个数17_NumPy数组ndarray中计算满足条件的元素的个数全体ndarray中满足条件的元素数的计算计算ndarray的每一行和每一列满足条件的元素数使用numpy.any()(全体,行/列)检查是否有满足条件的元素使用numpy.all()检查所有元素是否都满足条件(全体,行/列)多种条件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部