如何从矩阵中提取特定数字?

时间:2018-03-06 14:35:25

标签: python arrays python-3.x matrix

我有以下矩阵:

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])

任何人都可以帮我吗?

0 个答案:

没有答案
相关问题