在数组中逐行应用条件

我是 python 新手,所以这可能是一个简单的问题。对不起,如果是这样的话!


我有一个数组a,我想知道每行的哪些值小于a或等于与b.


a = np.array([[8,1,7],[4,3,9],[5,2,6]])

b = np.array([[7],[4],[6]])

结果数组应该是:


c = np.array([[False,True,True],[True,True,False],[True,True,True]])   

我试过了:


np.where((a <= b), True, False)


np.apply_along_axis(np.where((a <= b), True, False),1,a)

他们都没有工作。


白衣染霜花
浏览 190回答 3
3回答

FFIVE

Numpy 非常适合进行元素明智的逻辑运算!在这个例子中,一个简单的a<=b应该完成这项工作。您可以在此处了解更多信息https://jakevdp.github.io/PythonDataScienceHandbook/02.06-boolean-arrays-and-masks.html

心有法竹

以下情况如何:s = np.where((a-b) < 0, True, False)print(a[s])这对你有帮助吗?

红颜莎娜

问题是数组 b 没有完全定义:形状是 (x,)。我将它改造成 (x,1),然后一切正常。谢谢你们!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python