Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果python中满足某些条件,则替换矩阵行中的数字_Python_Arrays_Python 3.x_Matrix - Fatal编程技术网

如果python中满足某些条件,则替换矩阵行中的数字

如果python中满足某些条件,则替换矩阵行中的数字,python,arrays,python-3.x,matrix,Python,Arrays,Python 3.x,Matrix,如果满足某些条件,如何替换矩阵行中的数字?例如,如果最后一行中的数字小于3,我如何将它们替换为等于零 A: matrix([[ 1, 2, 3, 4], [ 2, 4, 10, 1]]) 它应该是这样的: A: matrix([[ 1, 2, 3, 4], [ 0, 4, 10, 0]]) 如果您想将该逻辑应用于所有元素,您可能需要执行以下操作: In [21]: a=[[ 1, 2, 3, 4], ...: [ 2, 4, 10, 1]]

如果满足某些条件,如何替换矩阵行中的数字?例如,如果最后一行中的数字小于3,我如何将它们替换为等于零

A:
matrix([[ 1,  2,  3,  4],
[ 2,  4, 10,  1]])
它应该是这样的:

A:
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]]
[21]中的
a=[1,2,3,4],
...:    [ 2,  4, 10,  1]]
...:    
...: 
在[22]中:b=list()
在[23]中:如果v<3,则l=λv:0,否则v
In[24]:对于a中的r:
附加(列表(映射(l,r)))
...:     
在[25]:b中
Out[25]:[0,0,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]])
将numpy导入为np
A=np.矩阵([[1,2,3,4],
[ 2,  4, 10,  1]])
A[-1][A[-1]<3]=0
#矩阵([[1,2,3,4],
#         [ 0,  4, 10,  0]])

用什么替换它们?都是同一个号码?列表中的值?替换为零。如果最后一列中的任何数字小于3,则将其替换为zero@AlbertoAlvarez,以下解决方案之一是否有帮助?如果是这样,请随意接受(在左侧打勾)。