python – numpy多维数组的条件运算
发布时间:2020-12-16 21:59:57 所属栏目:Python 来源:网络整理
导读:我是一个天真的numpy用户,需要你的帮助以解决以下问题:我想用第三个数组替换多维数组的一些元素,这些元素少于第二个数组;例如.: x = np.arange(16).reshape((2,8)) # x = np.array([[ 0,1,2,3,4,5,6,7],# [ 8,9,10,11,12,13,14,15]]) 和 y = np.array([[2]
我是一个天真的numpy用户,需要你的帮助以解决以下问题:我想用第三个数组替换多维数组的一些元素,这些元素少于第二个数组;例如.:
和
现在,找出x??大于y的位置,以及x中是否存在至少一个True> y数组,计算这些实例,创建另一个数组(z)并用z替换这些元素中的x:
在这种情况下,应该替换x(x [:,3:])的5个元素,因此我们创建一个(5,2)数组:
我想要的结果是
最佳答案
一个几乎完全符合你想要的numpy函数是numpy.where:
结果:
你要求的唯一区别是z必须可以播放到与x相同的形状.除非你绝对需要使用的z值与?(x> y).any(axis = 0)中的True值一样多,我认为这是最好的方法. 但是,根据您的评论,您似乎确实需要使用如上所述的z值.听起来这个函数可以保证形状匹配,所以你可以这样做:
测试:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |