繁体   English   中英

Python中的条件矩阵运算

[英]Conditional matrix operation in python

x是使用linepace创建的从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

您可以使用以下命令轻松完成此操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM