【问题标题】:Condition for replacement of elements in an array in Python [duplicate]在Python中替换数组中元素的条件[重复]
【发布时间】:2022-06-22 22:35:37
【问题描述】:

我想定义一个条件,这样每当sigma1 的元素等于或小于0.010545 时,该元素就会被0.010545 替换。当前和所需的输出已附加。

import numpy as np
sigma0=0.02109
a=0.001
b=0.001
t=np.linspace(0,20,10)
sigma1=sigma0-b*t
print("sigma1 =",[sigma1])

当前输出为

sigma1 = [array([0.02109   , 0.01886778, 0.01664556, 0.01442333, 0.01220111,
       0.00997889, 0.00775667, 0.00553444, 0.00331222, 0.00109   ])]

想要的输出是

sigma1 = [array([0.02109   , 0.01886778, 0.01664556, 0.01442333, 0.01220111,
       0.010545, 0.010545, 0.010545, 0.010545, 0.010545   ])]

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    您可以使用布尔索引来做到这一点:

    sigma1[sigma1<= 0.010545] = 0.010545
    

    输出:

    sigma1 = [array([0.02109   , 0.01886778, 0.01664556, 0.01442333, 0.01220111,
           0.010545  , 0.010545  , 0.010545  , 0.010545  , 0.010545  ])]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2016-04-25
      • 2015-12-18
      • 1970-01-01
      • 2019-05-15
      • 2021-12-12
      相关资源
      最近更新 更多