提问者:小点点

Python:替换数组中的数字[重复]


我有以下数组:

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

我想将0替换为0.5,以便获得:

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'

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

干杯!


共1个答案

匿名用户

您可以布尔索引来定位要替换的项目,然后只需分配值:

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]