当前位置: 首页 > 知识库问答 >
问题:

如何用零[重复]代替数组中的所有负数

赏高格
2023-03-14

如果我有一个NxN numpy数组,如果任何位置都有一个负数,有没有一个简单快捷的方法可以用0代替这个数字?类似于

for item in array:
    if item <= 0: 
        item = 0

共有1个答案

诸葛亮
2023-03-14

您可以通过使用布尔掩码来掩码整个数组,这将比当前的迭代效率高得多:

In [41]:
array = np.random.randn(5,3)
array

Out[41]:
array([[-1.09127791,  0.51328095, -0.0300959 ],
       [ 0.62483282, -0.78287353,  1.43825556],
       [ 0.09558515, -1.96982215, -0.58196525],
       [-1.23462258,  0.95510649, -0.76008193],
       [ 0.22431534, -0.36874234, -1.46494516]])

In [42]:
array[array < 0] = 0
array

Out[42]:
array([[ 0.        ,  0.51328095,  0.        ],
       [ 0.62483282,  0.        ,  1.43825556],
       [ 0.09558515,  0.        ,  0.        ],
       [ 0.        ,  0.95510649,  0.        ],
       [ 0.22431534,  0.        ,  0.        ]])
 类似资料:
  • 问题内容: 我想知道是否有某种方式将所有DataFrame负数替换为零? 问题答案: 如果所有列都是数字列,则可以使用布尔索引: 对于更一般的情况,此答案显示了private方法: 使用类型,布尔索引似乎可以在单独的列上工作,但不能在整个数据帧上工作。因此,您可以执行以下操作: 更新: 与整个DataFrame上的作品进行比较:

  • 我有两个数组。一个数组包含要搜索的字符,另一个数组包含要替换它们的字符。我想在一个字符串中找到第一个数组中每个项目的所有匹配项,并将它们替换为第二个数组中的相应项。

  • 它应该查看由定义的目录,然后循环并获得该目录中所有文件的完整路径。它将它们追加到一个数组,然后在底部将数组记录到控制台,后面跟着数组的长度。令我困惑的是,给定代码,数组会像预期的那样记录到控制台,但控制台会记录零作为长度。我目前的想法是,它与作用域有关,但这没有意义,因为我在运行的函数上面声明了数组。除非我错过了什么。有人能指出我做错了什么吗?

  • 问题内容: 我有一个数组: 我想从中删除所有零,以便返回(保持相同的顺序): 有什么比以下方法更简单的方法来删除所有零? 我无法在Arrays类中找到任何方法,并且Google / SO搜索没有给我任何好的答案。 问题答案: 这是在少数情况下,用代码显示比用普通英语解释更容易的情况之一:

  • 我正在尝试构建一个函数,该函数将应用于一个数组,并将提取其所有非数组的值。 对于那些是数组的数组,它将再次执行相同的过程,直到来自第一个数组、其子数组、子数组自己的子数组等的所有值都将被放入单个数组。 我面临的问题在于,我事先不知道每个阵列将有多少子阵列,以此类推。 我尝试过的: 我尝试过使用,如下所示,但正如我上面所说的,子数组的数量和值通常是未知的。我相信某种循环甚至递归都会有所帮助,但我无法

  • 问题内容: 有没有一种简单的方法可以将数组中的所有负值都替换为0? 我对如何使用NumPy数组有一个完整的了解。 例如 我要回去 给出: 这就是我遇到的问题-如何使用此数组修改原始数组。 问题答案: 你在那儿 尝试: