如果我有一个NxN numpy数组,如果任何位置都有一个负数,有没有一个简单快捷的方法可以用0代替这个数字?类似于
for item in array:
if item <= 0:
item = 0
您可以通过使用布尔掩码来掩码整个数组,这将比当前的迭代效率高得多:
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数组有一个完整的了解。 例如 我要回去 给出: 这就是我遇到的问题-如何使用此数组修改原始数组。 问题答案: 你在那儿 尝试: