![](/img/trans.png)
[英]Replace values within a column if a certain condition is met using Python
[英]replace a number in a the row of a matrix if certain condition is met in python
如果满足特定条件,如何在矩阵的一行中替换数字? 例如,如果小于3,我如何替换最后一行中等于0的数字?
A:
matrix([[ 1, 2, 3, 4],
[ 2, 4, 10, 1]])
它应该看起来像:
A:
matrix([[ 1, 2, 3, 4],
[ 0, 4, 10, 0]])
可以直接就地执行此转换:
import numpy as np
A = np.matrix([[ 1, 2, 3, 4],
[ 2, 4, 10, 1]])
A[-1][A[-1] < 3] = 0
# matrix([[ 1, 2, 3, 4],
# [ 0, 4, 10, 0]])
如果要将该逻辑应用于所有元素,则可能需要执行以下操作:
In [21]: a=[[ 1, 2, 3, 4],
...: [ 2, 4, 10, 1]]
...:
...:
In [22]: b = list()
In [23]: l = lambda v: 0 if v < 3 else v
In [24]: for r in a:
...: b.append(list(map(l, r)))
...:
In [25]: b
Out[25]: [[0, 0, 3, 4], [0, 4, 10, 0]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.