我们说我有一个矩阵
var=$(command)
如果{0}开始{0},我想替换所有负值。
有没有办法做python。由于我的矩阵非常大,它还需要具有计算效率吗?
答案 0 :(得分:3)
最简单的解决方案我建议使用numpy来处理任何矩阵操作,这样你就不必重新实现轮子了。也许值得研究numpy masking操作,比如masked_where
我不是说这是最有效的解决方案,真的不知道你认为什么是大矩阵以及你需要什么样的效率,我可能会尝试几种方法,并使用分析器比较它们并确定哪种方法最好对你而言。
>>> import numpy
>>> x = numpy.array([1, 2, 3, -99, 5])
>>> c = numpy.ma.masked_where(x < 0, x, copy=False)
>>> c
masked_array(data = [1 2 3 -- 5],
mask = [False False False True False],
fill_value = 999999)
>>> x2 = c.filled(0)
>>> x2
array([1, 2, 3, 0, 5])