我有以下矩阵:
a = array([[100. , 100. , 100. ],
[175.24163615, 198.31220183, 32.71406333],
[150.36778472, 82.62453566, 38.51860719],
[ 155.28247936, 191.50455896, 23.09254829],
[ 36.4302652 , 67.34580186, 30.82481977]])
我所做的是检查每一列,如果第三行中的数字大于100,我将其更改为21.75;如果第四行中的数字大于100,我将其更改为29.为此,我使用以下代码:
Z1[2]=[21.75 if x>100 else x for x in Z1[2]]
Z1[3]=[29 if x>100 else x for x in Z1[3]]
我正在努力的是做以下事情。一旦有变化,我想创建一个具有更改的数字的数组(只有给定行中的第一个),如果没有更改,则采用给定行的最后一个。比如,对于上面的矩阵,运行我将收到的代码:
a = array([[100. , 100. , 100. ],
[175.24163615, 198.31220183, 32.71406333],
[21.75, 82.62453566, 38.51860719],
[ 29, 29, 23.09254829],
[ 36.4302652 , 67.34580186, 30.82481977]])
因此,最终的数组应如下所示:
a = array([21.75, 29, 30.82481977])
任何人都可以帮我吗?