numpy 2d数组操作,保持某些位置

Qfwfq

我有两个2d numpy数组:

X2d = np.array([[0,4,5,0],
                [7,8,4,3],
                [0,0,9,8]])

Y2d = np.array([[1,0,4,8],
                [0,3,8,5],
                [0,6,0,8]])

#and I would like to get these two:

X2dresult = np.array([[0,0,5,0],
                      [0,8,4,3],
                      [0,0,0,8]])

Y2dresult = np.array([[0,0,4,0],
                      [0,3,8,5],
                      [0,0,0,8]])

因此,基本上我需要保持两个矩阵都大于0的那些位置。我可以使用numpy.where函数或类似的东西来获得这些结果吗?谢谢

阿什维尼乔杜里(Ashwini Chaudhary)

您可以使用按位与或或,numpy.where为此:

>>> X2d = np.array([[0,4,5,0],
...                 [7,8,4,3],
...                 [0,0,9,8]])
>>> 
>>> Y2d = np.array([[1,0,4,8],
...                 [0,3,8,5],
...                 [0,6,0,8]])
>>> indices = np.where(~((X2d > 0) & (Y2d > 0)))
>>> X2d[indices] = 0
>>> Y2d[indices] = 0
>>> X2d
array([[0, 0, 5, 0],
       [0, 8, 4, 3],
       [0, 0, 0, 8]])
>>> Y2d
array([[0, 0, 4, 0],
       [0, 3, 8, 5],
       [0, 0, 0, 8]])

我认为按位OR阅读更好,更清晰:

>>> X2d = np.array([[0,4,5,0],
...                 [7,8,4,3],
...                 [0,0,9,8]])
>>> 
>>> Y2d = np.array([[1,0,4,8],
...                 [0,3,8,5],
...                 [0,6,0,8]])
>>> indices = np.where((X2d == 0) | (Y2d == 0))
>>> X2d[indices] = 0
>>> Y2d[indices] = 0
>>> X2d
array([[0, 0, 5, 0],
       [0, 8, 4, 3],
       [0, 0, 0, 8]])
>>> Y2d
array([[0, 0, 4, 0],
       [0, 3, 8, 5],
       [0, 0, 0, 8]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

numpy:展平2D数组的某些列

来自分类Dev

在Numpy 2d数组中移动行的位置

来自分类Dev

Python:2D numpy数组中峰的正确位置?

来自分类Dev

将4d numpy数组重塑为2d数组,同时保留数组位置

来自分类Dev

Numpy对2D数组进行操作以生成3D数组

来自分类Dev

我如何设置2D数组中某些元素的值(使用numpy在列表中)?

来自分类Dev

Python numpy 2D数组总和在某些索引上

来自分类Dev

将 2D numpy 数组重新排列为保持行索引的列向量

来自分类Dev

Numpy 2D数组到表格

来自分类Dev

更新2D numpy数组值

来自分类Dev

Python 2D NumPy数组理解

来自分类Dev

遮罩2D Numpy数组

来自分类Dev

大型2D numpy数组相乘

来自分类Dev

过采样的Numpy数组(2D)

来自分类Dev

numpy 数组上的 2D argmax

来自分类Dev

如何在4D numpy数组上执行迭代2D操作

来自分类Dev

如何在4D numpy数组上执行迭代2D操作

来自分类Dev

从1D重塑为2D numpy数组后,如何返回元素的位置(索引)?

来自分类Dev

在numpy中的2D数组中的特定位置插入单个值

来自分类Dev

numpy:在某些位置修改数组元素

来自分类Dev

基于索引的2D numpy数组排列numpy 2D数组的numpy方法是什么?

来自分类Dev

将2D numpy矩阵转换为2D numpy数组

来自分类Dev

NumPy:数组和标量列表中的2D数组

来自分类Dev

用1D numpy数组制作2D

来自分类Dev

从 3D numpy 数组中提取 2D

来自分类Dev

从2D numpy数组快速计算随机的3D numpy数组

来自分类Dev

将2d numpy数组连接到3d numpy数组

来自分类Dev

如何将2d numpy数组列表连接到3d numpy数组?

来自分类Dev

从numpy 1D数组列表创建numpy 2D数组