【问题标题】:Python: replace numbers in an array [duplicate]Python:替换数组中的数字[重复]
【发布时间】:2023-02-17 00:08:04
【问题描述】:

我有以下数组:

array = array([4., 0., 2., 8., 8., 8., 8., 2., 0.])

我想用 0.5 替换 0 以便得到:

array = array([4., 0.5, 2., 8., 8., 8., 8., 2., 0.5])

到目前为止我已经尝试过:

array.replace(0.5, 0)

收效甚微:

AttributeError: 'numpy.ndarray' object has no attribute 'replace'

关于如何保留数组格式但替换其中的数字有什么想法吗?

干杯!

【问题讨论】:

    标签: python arrays


    【解决方案1】:

    您可以boolean indexing 找到您要替换的项目,然后只需分配值:

    import numpy as np
    
    array = np.array([4., 0., 2., 8., 8., 8., 8., 2., 0.])
    
    array[array == 0.0] = 0.5
    
    print(array)
    # [4.  0.5 2.  8.  8.  8.  8.  2.  0.5]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-02
      • 2018-11-14
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多