[英]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.