python中的条件矩阵运算

时间:2015-10-17 18:16:07

标签: python function matrix conditional

x是从0到1的n个值的列表,其中使用行空间创建。 Y = X ^ 3。如何创建一个条件函数,只要x <0.5,就将值保持为0.01。 n可以变化。有没有办法直接通过矩阵运算循环遍历所有值?

import numpy as np
n=100
x = np.linspace(0, 1, n)
y = np.power(x,3) 
# for all values where x<0.5: y=0.01

1 个答案:

答案 0 :(得分:2)

您可以使用以下方式轻松完成此操作:

y[x<0.5] = 0.01

示例输出:

In [1]: import numpy as np

In [2]: n=10

In [3]: x = np.linspace(0, 1, n)

In [4]: y = np.power(x,3)

In [5]: x
Out[5]:
array([ 0.        ,  0.11111111,  0.22222222,  0.33333333,  0.44444444,
        0.55555556,  0.66666667,  0.77777778,  0.88888889,  1.        ])

In [6]: y
Out[6]:
array([ 0.        ,  0.00137174,  0.01097394,  0.03703704,  0.0877915 ,
        0.17146776,  0.2962963 ,  0.47050754,  0.70233196,  1.        ])

In [7]: y[x<0.5] = 0.01

In [8]: y
Out[8]:
array([ 0.01      ,  0.01      ,  0.01      ,  0.01      ,  0.01      ,
        0.17146776,  0.2962963 ,  0.47050754,  0.70233196,  1.        ])