【发布时间】:2016-09-04 01:04:27
【问题描述】:
我正在尝试制作一个灵活的算法,如果它们太高,它将从 50 x 50 数组(其中包含来自拟合图像的像素值)中取出值。 它们太高了(在 python 中)。我尝试做的第一件事是:
file = pf.open('/Users/Vofun/desktop/file.fits')
data = np.array(file[0].data)
for pixellist in range (len(data)):
if data[pixellist] > 50:
data[pixellist] = 10:
当然,那没用,我得到了
ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
问题是,如果我这样做,如果我使用 a.any(),我不知道如何告诉它要替换哪个值。到目前为止,我认为我需要的是:
if a.any(data) > 50:
然后一行代码告诉它用 10 替换该值,但我不确定如何告诉它为找到的像素执行此操作,因为我在编码方面有点糟糕。如果索引的值超过 50,我将如何减少索引的值?
【问题讨论】:
-
data的shape 是什么? -
我知道我应该把它包括在内。这是 50 乘 50
-
我不明白
sec_data是不是也是 50 x 50? -
哎呀...我将其中的一半名称更改为通用名称,而将另一半名称保留为原始名称。
标签: python python-2.7 numpy multidimensional-array